Hello again, Martin Pitt [2013-12-18 8:16 +0100]: > In current Ubuntu I get several test failures: > > | check adequate-testpkg-bin-or-sbin-binary-requires-usr-lib-library ... FAIL > | -adequate-testpkg-bin-or-sbin-binary-requires-usr-lib-library: > bin-or-sbin-binary-requires-usr-lib-library /bin/adequate-usrlib1 => > /usr/lib/libadequate-usrlib.so.0 > | -adequate-testpkg-bin-or-sbin-binary-requires-usr-lib-library: > bin-or-sbin-binary-requires-usr-lib-library /sbin/adequate-usrlib2 => > /usr/lib/libadequate-usrlib.so.0 > | > | check adequate-testpkg-incompatible-licenses ... FAIL > | -adequate-testpkg-incompatible-licenses: incompatible-licenses > /usr/bin/adequate-license-conflict OpenSSL (libs > | sl.so.1.0.0) + GPLv3+ (libreadline.so.6) > | > | check adequate-testpkg-library-not-found ... FAIL > | -adequate-testpkg-library-not-found: library-not-found /bin/adequate-lib1 > => libadequate-lib.so.0
This is because prog.c does not actually use any of the symbols of the libadequate shlibs. Ubuntu's toolchain defaults to using -Wl,--as-needed to avoid unnecessary dependencies. That's the same behaviour as binutils-gold has by default. It would be nice if your tests would work with those. Attached patch does that by forcing -Wl,--no-as-needed. Thanks, Martin -- Martin Pitt | http://www.piware.de Ubuntu Developer (www.ubuntu.com) | Debian Developer (www.debian.org)
tests/testpkg/debian/rules: Link with -Wl,--no-as-needed as the test prog.c does not actually use any of the libadequate symbols. diff -Nru adequate-0.9/tests/testpkg/debian/rules adequate-0.9ubuntu1/tests/testpkg/debian/rules --- adequate-0.9/tests/testpkg/debian/rules 2013-12-04 09:52:00.000000000 +0100 +++ adequate-0.9ubuntu1/tests/testpkg/debian/rules 2013-12-18 08:28:42.000000000 +0100 @@ -17,14 +17,14 @@ ln -sf libadequate-lib.so.0 $(tmp)/libadequate-lib.so $(CC) lib.c -fPIC -shared -Wl,-soname,libadequate-usrlib.so.0 -o $(tmp)/libadequate-usrlib.so.0 ln -sf libadequate-usrlib.so.0 $(tmp)/libadequate-usrlib.so - $(CC) prog.c -L$(tmp) -ladequate-lib -o $(tmp)/adequate-lib1 + $(CC) prog.c -L$(tmp) -Wl,--no-as-needed -ladequate-lib -o $(tmp)/adequate-lib1 cd $(tmp) && seq 2 5 | xargs -t -I {} ln -f adequate-lib1 adequate-lib{} - $(CC) prog.c -L$(tmp) -ladequate-usrlib -o $(tmp)/adequate-usrlib1 + $(CC) prog.c -L$(tmp) -Wl,--no-as-needed -ladequate-usrlib -o $(tmp)/adequate-usrlib1 cd $(tmp) && seq 2 5 | xargs -t -I {} ln -f adequate-usrlib1 adequate-usrlib{} # incompatible-licenses $(CC) lib.c -fPIC -shared -Wl,-soname,libssl.so.1.0.0 -o $(tmp)/libssl.so $(CC) lib.c -fPIC -shared -Wl,-soname,libreadline.so.6 -o $(tmp)/libreadline.so - $(CC) prog.c -L$(tmp) -lssl -lreadline -o $(tmp)/adequate-license-conflict + $(CC) prog.c -L$(tmp) -Wl,--no-as-needed -lssl -lreadline -o $(tmp)/adequate-license-conflict # missing-version-information $(CC) -shared -Wl,--soname=lib$(at)-versionless.so.0 -Wl,--version-script=verscript-global lib.c -o $(tmp)/lib$(at)-versionless.so.0 ln -sf lib$(at)-versionless.so.0 $(tmp)/lib$(at)-versionless.so
signature.asc
Description: Digital signature