libpam makefile assumes incorrect path for libdl on Ubuntu Natty #71
Comments
Comment #1 originally posted by charles.lacroix on 2011-05-12T15:24:09.000Z: I had same issue on centos 5.6 i modified the Makefile to point at the libdl in /usr/lib64/libdl.so google-authenticator: google-authenticator.o base32.o hmac.o sha1.o demo: demo.o pam_google_authenticator_demo.o base32.o hmac.o sha1.o pam_google_authenticator_unittest: pam_google_authenticator_unittest.o -o
|
Comment #2 originally posted by chris.ritsen on 2011-05-31T15:48:19.000Z: sudo find / -name libdl.so |
Comment #3 originally posted by chris.ritsen on 2011-05-31T15:49:21.000Z: find /usr/lib -name libdl.so |
Comment #4 originally posted by chris.ritsen on 2011-05-31T15:50:28.000Z: find /usr/lib -name libdl.so |
Comment #5 originally posted by yeohayon on 2011-06-21T14:56:23.000Z: Upgraded to Natty today, still had to do this procedure to compile with the latest git clone.. |
Comment #6 originally posted by tiran79 on 2011-10-12T00:27:46.000Z: The bug is related to the new multiarch system introduced by recent Debian and Ubuntu builds. Architecture specific libraries have been moved to /usr/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH) or /lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH). |
Comment #7 originally posted by jakob.p80 on 2011-11-20T18:03:33.000Z: For me (on oneiric) linking against libdl (via -ldl) did not work alone - I had to change the ordering of the object files and linker flags. Seems to be due to the --as-needed option passed to ld per default. Here the statement from http://wiki.debian.org/ToolChain/DSOLinking#Onlylinkwithneededlibraries |
Comment #8 originally posted by davide.piazza on 2011-11-28T22:59:26.000Z: Hello Jabcob, I'm also triying to build on Oneiric 64 bit and have the same issue. Cold you please post the exact commands? |
Comment #9 originally posted by markus@google.com on 2011-12-15T08:54:13.000Z: Issue 106 has been merged into this issue. |
Comment #10 originally posted by markus@google.com on 2011-12-15T08:57:58.000Z: Issue 77 has been merged into this issue. |
Comment #11 originally posted by markus@google.com on 2011-12-15T08:58:39.000Z: Issue 74 has been merged into this issue. |
Comment #12 originally posted by markus@google.com on 2011-12-15T08:58:52.000Z: <empty> |
Comment #13 originally posted by markus@google.com on 2011-12-16T01:00:31.000Z: I believe this problem is now fixed in the head of tree. Please reopen this issue, if you still encounter difficulties building the PAM module. |
Comment #14 originally posted by luckyjcell on 2011-12-27T15:46:51.000Z: Issue occurs on CentOS 5.7 with latest checkout of google-authenticator code. |
Comment #15 originally posted by markus@google.com on 2011-12-28T05:28:21.000Z: Our old approach of trying to test for whether we need to pass the "-ldl" option by searching for "libdl.so" proved unreliable. So, instead, we now actually try passing this option to the compiler and see what happens. Hopefully, that'll be more robust. |
Original issue 71 created by mikalstill on 2011-05-12T02:49:06.000Z:
What steps will reproduce the problem?
What is the expected output? What do you see instead?
$ make
cc -g
-o google-authenticator google-authenticator.o base32.o hmac.o sha1.o
google-authenticator.o: In function
displayQRCode': /data/src/stillhq_private/google-authenticator/libpam/google-authenticator.c:154: undefined reference to
dlopen'/data/src/stillhq_private/google-authenticator/libpam/google-authenticator.c:166: undefined reference to
dlsym' /data/src/stillhq_private/google-authenticator/libpam/google-authenticator.c:168: undefined reference to
dlsym'/data/src/stillhq_private/google-authenticator/libpam/google-authenticator.c:253: undefined reference to
dlclose' /data/src/stillhq_private/google-authenticator/libpam/google-authenticator.c:156: undefined reference to
dlopen'collect2: ld returned 1 exit status
make: *** [google-authenticator] Error 1
What version of the product are you using? On what operating system?
Latest mercurial source, on Ubuntu Natty.
Please provide any additional information below.
libdl isn't where the makefile expects it to be. It is instead here:
mikal@molokai:/lib/x86_64-linux-gnu$ ls -l libdl*
-rw-r--r-- 1 root root 14696 2011-04-11 21:26 libdl-2.13.so
lrwxrwxrwx 1 root root 13 2011-05-01 16:52 libdl.so.2 -> libdl-2.13.so
The text was updated successfully, but these errors were encountered: