Skip to content

Remove the "working around a kernel bug" warning during OTB binary package installation

Cédric Traizet requested to merge patchelf_warning into release-7.4

Summary

When installing OTB using a Linux binary package, it is possible to run into the following warning:

warning: working around a Linux kernel bug by creating a hole of 2113536 bytes in ‘./lib/libQt5Core.so.5.11.3’

This warning is produced by patchelf which has been used to change the rpaths of the binaries. There is not much we can do about this warning, and it can be safely ignored (cf this issue on patchelf github). The warning has actually been removed in patchelf 0.10 (see this commit), and we use patchelf 0.9 in the packaging step (as a CMake external project).

I tried to update the version of patchelf in the Packaging project. I tried versions 0.10 and 0.12 (the last release). But in both cases I run into the bug described in this issue. The binaries are corrupted and output many "X" symbols on execution:

For example launching the EdgeExtraction applications leads:

This is the EdgeExtraction application, version 7.4.0

This application computes edge features on every pixel of the input image selected channel
Complete documentation: https://www.orfeo-toolbox.org/CookBook/Applications/app_EdgeExtraction.html or -help

Parameters: 
MISSING -in                   <string>         Input Image  (mandatory)
MISSING -out                  <string> [pixel] Feature Output Image  [pixel=uint8/uint16/int16/uint32/int32/float/double/cint16/cint32/cfloat/cdouble] (default value is float) (mandatory)
        -channel              <int32>          Selected Channel  (mandatory, default value is 1)
        -filter               <string>         Edge feature [gradient/sobel/touzi] (mandatory, default value is gradient)
        -filter.touzi.xradius <int32>          X radius of the neighborhood  (mandatory, default value is 1)
        -filter.touzi.yradius <int32>          Y radius of the neighborhood  (mandatory, default value is 1)
        -ram                  <int32>          Available RAM (MB)  (optional, off by default, default value is 256)
        -progress             <boolean>        Report progress 
        -help                 <string list>    Display long help (empty list), or help for given parameters keys

Use -help param1 [... paramN] to see detailed documentation of those parameters.

Examples: 
otbcli_EdgeExtraction -in qb_RoadExtract.tif -channel 1 -out Edges.tif

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

This is annoying and I don't think updating to patchelf > 0.9 is a solution while this bug is not fixed.

In this MR I added a patch to remove the warning.

Maybe integrating the whole commit could be interesting (I don't know if it can be applied to patchelf 0.9 directly), as it might reduce the size of the OTB binary package (untested)

Copyright

The copyright owner is CNES and has signed the ORFEO ToolBox Contributor License Agreement.


Check before merging:

  • All discussions are resolved
  • At least 2 👍 votes from core developers, no 👎 vote.
  • The feature branch is (reasonably) up-to-date with the base branch
  • Dashboard is green
  • Copyright owner has signed the ORFEO ToolBox Contributor License Agreement
  • Optionally, run git diff develop... -U0 --no-color | clang-format-diff.py -p1 -i on latest changes and commit
Edited by Cédric Traizet

Merge request reports