[Pkg-cmake-team] Bug#912475: qtmultimedia-opensource-src: FTBFS on hurd: no qtaudioengine

Samuel Thibault sthibault at debian.org
Wed Oct 31 23:38:55 GMT 2018


reassign -1 cmake

Pino Toscano, le mer. 31 oct. 2018 23:44:36 +0100, a ecrit:
> The issue comes from the fact that libopenal seems to not have all the
> proper dependencies, and thus the linking test fails with all the sio_*
> symbols (provided by libsndio) undefined.

Oh, indeed.

> I tried taking a quick look, and I did not find yet why apparently
> there is a behaviour change between Linux and Hurd. I did not have a
> lot of time to spend on it, though.

I see that there is at least:

€ objdump -x debian/libopenal1/usr/lib/i386-gnu/libopenal.so.1.19.1 | grep NEED
  NEEDED               /usr/lib/i386-gnu/libsndio.so
  ...

€ objdump -x ./tmp/usr/lib/x86_64-linux-gnu/libopenal.so.1.19.1 | grep NEED
  NEEDED               libsndio.so.7.0
  ...

The link line contains /usr/lib/i386-gnu/libsndio.so in one case, and
-lsndio in the other case. I don't know why cmake makes a difference. In
both cases we have absolute paths in

./build-tree/CMakeFiles/OpenAL.dir/build.make:libopenal.so.1.19.1: /usr/lib/i386-gnu/libsndio.so
./build-tree/CMakeCache.txt:OpenAL_LIB_DEPENDS:STATIC=general;-pthread;general;common;general;/usr/lib/i386-gnu/libsndio.so;general;rt;general;pthread;general;dl;general;atomic;general;m;
./build-tree/CMakeCache.txt:SOUNDIO_LIBRARY:FILEPATH=/usr/lib/i386-gnu/libsndio.so
./build-tree/CMakeCache.txt:FIND_PACKAGE_MESSAGE_DETAILS_SoundIO:INTERNAL=[/usr/lib/i386-gnu/libsndio.so][/usr/include][v()]


./build-tree/CMakeFiles/OpenAL.dir/build.make:libopenal.so.1.19.1: /usr/lib/x86_64-linux-gnu/libsndio.so
./build-tree/CMakeCache.txt:OpenAL_LIB_DEPENDS:STATIC=general;-pthread;general;common;general;/usr/lib/x86_64-linux-gnu/libsndio.so;general;rt;general;pthread;general;dl;general;atomic;general;m;
./build-tree/CMakeCache.txt:SOUNDIO_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libsndio.so
./build-tree/CMakeCache.txt:FIND_PACKAGE_MESSAGE_DETAILS_SoundIO:INTERNAL=[/usr/lib/x86_64-linux-gnu/libsndio.so][/usr/include][v()]

cmake maintainers, do you have any idea why
/usr/lib/i386-gnu/libsndio.so does not get turned into -lsndio while
/usr/lib/x86_64-linux-gnu/libsndio.so does?

Samuel



More information about the Pkg-cmake-team mailing list