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

Reply via email to