Daniel Pocock
2013-09-16 10:25:12 UTC
I've observed this binary linking successfully on Debian but not on
Ubuntu. The package uses an autotools build system.
On Ubuntu, gcc link complains about unresolved reference to ceilf, even
though -lm is in the linker command line
Can anybody comment on the correct way to go about this? On both
platforms, autoreconf is executed as part of the package build from
debian/rules and there is one patch against configure.ac, for supporting
HURD and kFreeBSD kernels.
Source:
http://anonscm.debian.org/gitweb/?p=collab-maint/avis-client-c.git;a=tree
Ubuntu error:
/bin/bash ../../libtool --tag=CC --mode=link gcc -Wall -pedantic -pthread -g -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -lm -Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now -o tests tests.o check_messages.o check_security.o check_client.o check_collections.o check_invoke.o check_uri.o ../../src/lib/libavis.la ../../packages/check/src/libcheck.la
libtool: link: gcc -Wall -pedantic -pthread -g -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z -Wl,relro -Wl,-z -Wl,now -o .libs/tests tests.o check_messages.o check_security.o check_client.o check_collections.o check_invoke.o check_uri.o -lm ../../src/lib/.libs/libavis.so ../../packages/check/src/.libs/libcheck.a -pthread
../../src/lib/.libs/libavis.so: undefined reference to `ceilf'
collect2: error: ld returned 1 exit status
make[4]: *** [tests] Error 1
make[4]: Leaving directory `/tmp/buildd/avis-client-c-1.2.4/src/test'
Full Ubuntu bug details (with config.status and config.log):
https://bugs.launchpad.net/ubuntu/+bug/1224928
Debian build log (successful build):
https://buildd.debian.org/status/fetch.php?pkg=avis-client-c&arch=i386&ver=1.2.4-7&stamp=1378377013
Ubuntu. The package uses an autotools build system.
On Ubuntu, gcc link complains about unresolved reference to ceilf, even
though -lm is in the linker command line
Can anybody comment on the correct way to go about this? On both
platforms, autoreconf is executed as part of the package build from
debian/rules and there is one patch against configure.ac, for supporting
HURD and kFreeBSD kernels.
Source:
http://anonscm.debian.org/gitweb/?p=collab-maint/avis-client-c.git;a=tree
Ubuntu error:
/bin/bash ../../libtool --tag=CC --mode=link gcc -Wall -pedantic -pthread -g -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -lm -Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now -o tests tests.o check_messages.o check_security.o check_client.o check_collections.o check_invoke.o check_uri.o ../../src/lib/libavis.la ../../packages/check/src/libcheck.la
libtool: link: gcc -Wall -pedantic -pthread -g -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z -Wl,relro -Wl,-z -Wl,now -o .libs/tests tests.o check_messages.o check_security.o check_client.o check_collections.o check_invoke.o check_uri.o -lm ../../src/lib/.libs/libavis.so ../../packages/check/src/.libs/libcheck.a -pthread
../../src/lib/.libs/libavis.so: undefined reference to `ceilf'
collect2: error: ld returned 1 exit status
make[4]: *** [tests] Error 1
make[4]: Leaving directory `/tmp/buildd/avis-client-c-1.2.4/src/test'
Full Ubuntu bug details (with config.status and config.log):
https://bugs.launchpad.net/ubuntu/+bug/1224928
Debian build log (successful build):
https://buildd.debian.org/status/fetch.php?pkg=avis-client-c&arch=i386&ver=1.2.4-7&stamp=1378377013