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 -ur gauth-old/google-authenticator-20110413.68230188bdc7/libpam/Makefile gauth-new/google-authenticator-20110413.68230188bdc7/libpam/Makefile --- gauth-old/google-authenticator-20110413.68230188bdc7/libpam/Makefile 2011-04-13 01:56:30.000000000 -0400 +++ gauth-new/google-authenticator-20110413.68230188bdc7/libpam/Makefile 2011-08-21 19:05:59.000000000 -0400 @@ -47,18 +47,14 @@ 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) -ldl -o $@ $+ 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 $@ $+ + $(CC) -g $(LDFLAGS) -rdynamic -ldl -o $@ $+ 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 $@ $+ + $(CC) -g $(LDFLAGS) -rdynamic -lc -ldl -o $@ $+ pam_google_authenticator.so: base32.o hmac.o sha1.o pam_google_authenticator_testing.so: base32.o hmac.o sha1.o