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

Attachment: signature.asc
Description: Digital signature

Reply via email to