Preload errors while building C/C++ within Docker

Versions:

  • Scanner: sonar-scanner-cli-4.7.0.2747-linux
  • SQ: 8.9.10.61524

The project I’m working on is built within a docker container running wind river linux v7 using cmake:

PACKAGE_NAME=${packageName} VERSION_NUMBER=${version} ./build-wrapper-linux-x86-64 --out-dir . cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1 $verboseCmakeArgs --build ../src

($verboseCmakeArgs is empty)

While building, the following message is spammed:

ERROR: ld.so: object '/home/gwuser/dt4-bacnet/libinterceptor-${PLATFORM}.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.

And when the sonar scanner is executed, it finishes with:

04:18:02.433 ERROR: Error during SonarScanner execution
java.lang.IllegalStateException: The "build-wrapper-dump.json" file was found but 0 C/C++/Objective-C files were analyzed. Please make sure that:
  * you are using the latest version of the build-wrapper and the CFamily analyzer
  * you are correctly invoking the scanner with correct configuration
  * your compiler is supported
  * you are wrapping your build correctly
  * you are wrapping a full/clean build
  * you are providing the path to the correct build-wrapper output directory
  * you are building and analyzing the same source checkout, absolute paths must be identical in build and analysis steps

I was previously having issues where build-wrapper-dump.json would return empty, moving libinterceptor-i686.so and creating the following symlink fixed this:

mv libinterceptor-i686.so libinterceptor-i686.so.disabled && ln -s libinterceptor-x86_64.so libinterceptor-i686.so

In my attempts to figure out the issue I’ve tried creating a symlink to the other libinterceptor-*.so files thinking it was confused being in a docker container, but no luck.

Both build-wrapper.log & build-wrapper-dump.json are populated with relevant details, although I would prefer to keep them private.

Any assistance or tips would be appreciated.