[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Adding runtime dependencies that aren't caught by shlibs:Depends



* Jens Reyer <jre.winesim@gmail.com>, 2016-07-05, 21:24:
First off, many thanks again for that script. Unfortunately it fails in Ubuntu (see #827770):

./debian/scripts/sonames2elf libcups.so.2 libdbus-1.so.3 libfontconfig.so.1 libfreetype.so.6 libGL.so.1 libgnutls.so.30 libgsm.so.1 libjpeg.so.8 libncurses.so.5 libodbc.so.2 libopenal.so.1 libOSMesa.so.8 libpng16.so.16 libtiff.so.5 libX11.so.6 libXcomposite.so.1 libXcursor.so.1 libXext.so.6 libXi.so.6 libXinerama.so.1 libXrandr.so.2 libXrender.so.1 libxslt.so.1 libXxf86vm.so.1 > debian/tmp/elf.recommends
/usr/bin/ld: cannot find libGL.so.1
collect2: error: ld returned 1 exit status
debian/rules:153: recipe for target 'override_dh_shlibdeps' failed

In Ubuntu libGL.so.1 is in /usr/lib/<arch>/mesa/.

Ugh. :-\

This is not a problem for normally linking with -lGL because the libGL.so symlink lives directly in /usr/lib/<triplet>/.

It's also not a problem at runtime, because /usr/lib/<triplet>/mesa/ is included in /etc/ld.so.conf.d/<triplet>_GL.conf.

But it does break sonames2elf, because ld(1) doesn't pay attention to /etc/ld.so.conf*.

As a work-around, changing "libGL.so.1" to "libGL.so" in the sonames2elf command-line seems to do the trick. (You may want to implement extra check to ensure that the linker found exactly the same SONAME as it should.)

--
Jakub Wilk


Reply to: