forcemerge 628729 629666 severity 628729 serious thanks
This was previously reported by Evan Broder in bug #628799, with essentially the same patch. We don't need to worry about -ldl not existing since the only libc on Debian is glibc. (If this assumption is incorrect, then we'd need to be more clever, e.g., use autoconf.)
Attached is a debdiff to incorporate Evan's patch and close all open FTBFSes against this package.
-- Geoffrey Thomas geo...@mit.edu On Sun, 21 Aug 2011, Christine Spang wrote:
tags 629666 + patch thanks The problem here is that libpam/Makefile is making an erroneous check for "/usr/lib/libdl.so", and only if this file exists does it link to libdl, which contains the symbols that the build is erroring out because it can't find. Is there any reason *not* to unconditionally link to libdl? libdl.so is never in /usr/lib these days (perhaps because of multiarch support?). I have attached a patch that does exactly that. cheers, Christine
diff -Nru google-authenticator-20110413.68230188bdc7/debian/changelog google-authenticator-20110413.68230188bdc7/debian/changelog --- google-authenticator-20110413.68230188bdc7/debian/changelog 2011-04-13 02:20:20.000000000 -0400 +++ google-authenticator-20110413.68230188bdc7/debian/changelog 2011-08-21 21:48:21.000000000 -0400 @@ -1,3 +1,13 @@ +google-authenticator (20110413.68230188bdc7-1.1) unstable; urgency=low + + * Non-maintainer upload. + * Change build dependencies to list a concrete package (Closes: #638802). + * Unconditionally link -ldl (since Debian always uses glibc), to fix a + FTBFS caused by libdl.so moving to multiarch paths (Closes: #628729, + #629666). Patch from Evan Broder <e...@ebroder.net>. + + -- Geoffrey Thomas <geo...@mit.edu> Sun, 21 Aug 2011 21:45:15 -0400 + google-authenticator (20110413.68230188bdc7-1) unstable; urgency=low * Upstream update. diff -Nru google-authenticator-20110413.68230188bdc7/debian/control google-authenticator-20110413.68230188bdc7/debian/control --- google-authenticator-20110413.68230188bdc7/debian/control 2011-02-25 15:11:45.000000000 -0500 +++ google-authenticator-20110413.68230188bdc7/debian/control 2011-08-21 21:31:43.000000000 -0400 @@ -2,7 +2,7 @@ Section: admin Priority: optional Maintainer: LENART Janos <o...@debian.org> -Build-Depends: debhelper (>= 7.0.5), libpam-dev +Build-Depends: debhelper (>= 7.0.5), libpam0g-dev Standards-Version: 3.9.1 Homepage: http://code.google.com/p/google-authenticator/ Vcs-hg: https://google-authenticator.googlecode.com/hg/ diff -Nru google-authenticator-20110413.68230188bdc7/debian/patches/make-multiarch-friendly google-authenticator-20110413.68230188bdc7/debian/patches/make-multiarch-friendly --- google-authenticator-20110413.68230188bdc7/debian/patches/make-multiarch-friendly 1969-12-31 19:00:00.000000000 -0500 +++ google-authenticator-20110413.68230188bdc7/debian/patches/make-multiarch-friendly 2011-08-21 21:45:02.000000000 -0400 @@ -0,0 +1,39 @@ +Description: Switch the Makefile to be multiarch-friendly + google-authenticator looks for /usr/lib/libdl.so to determine whether + or not to link -ldl, but since the multiarch transition process moved + libdl to a different location, that test no longer finds it, leading + to a FTBFS on multiarch-enabled systems. + . + Work around that by just always linking libdl, which we definitely + always want to do with glibc. +Author: Evan Broder <e...@ebroder.net> +Origin: vendor +Bug: http://code.google.com/p/google-authenticator/issues/detail?id=74 + +Index: ubuntu/libpam/Makefile +=================================================================== +--- ubuntu.orig/libpam/Makefile 2011-05-31 11:40:31.878079519 -0700 ++++ ubuntu/libpam/Makefile 2011-05-31 11:52:43.952386500 -0700 +@@ -47,18 +47,17 @@ + pam_google_authenticator_unittest + + google-authenticator: google-authenticator.o base32.o hmac.o sha1.o +- $(CC) -g $(LDFLAGS) $(shell [ -f /usr/lib/libdl.so ] && echo " -ldl") \ +- -o $@ $+ ++ $(CC) -g $(LDFLAGS) \ ++ -o $@ $+ -ldl + + demo: demo.o pam_google_authenticator_demo.o base32.o hmac.o sha1.o + $(CC) -g $(LDFLAGS) -rdynamic \ +- $(shell [ -f /usr/lib/libdl.so ] && echo " -ldl") -o $@ $+ ++ -o $@ $+ -ldl + + pam_google_authenticator_unittest: pam_google_authenticator_unittest.o \ + base32.o hmac.o sha1.o + $(CC) -g $(LDFLAGS) -rdynamic -lc \ +- $(shell [ -f /usr/lib/libdl.so ] && echo " -ldl") \ +- -o $@ $+ ++ -o $@ $+ -ldl + + pam_google_authenticator.so: base32.o hmac.o sha1.o + pam_google_authenticator_testing.so: base32.o hmac.o sha1.o diff -Nru google-authenticator-20110413.68230188bdc7/debian/patches/series google-authenticator-20110413.68230188bdc7/debian/patches/series --- google-authenticator-20110413.68230188bdc7/debian/patches/series 2011-02-25 14:12:04.000000000 -0500 +++ google-authenticator-20110413.68230188bdc7/debian/patches/series 2011-08-21 21:45:02.000000000 -0400 @@ -1 +1,2 @@ debian-create-central-makefile +make-multiarch-friendly