Linking Trouble (Linux)

Craig Dillabaugh cdillaba at cg.scs.carleton.ca
Thu Sep 12 12:46:20 PDT 2013


I just upgraded my Linux distro (openSuse) and now when trying to
compile a project with dub I am getting linking errors.

Compilation goes OK until the linking stage, when I get the
following:

Linking...
dmd -of/home/craig/cloud/vibe-tiles/vibe
/home/craig/cloud/vibe-tiles/temp.o -L-levent_pthreads -L-levent
-L-lssl -L-lcrypto -g
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld:
warning: libdl.so.2, needed by /usr/lib64/libcrypto.so, not found
(try using -rpath or -rpath-link)
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld:
warning: libz.so.1, needed by /usr/lib64/libcrypto.so, not found
(try using -rpath or -rpath-link)
/usr/lib64/libcrypto.so: undefined reference to
`dlopen at GLIBC_2.2.5'
/usr/lib64/libcrypto.so: undefined reference to
`dlerror at GLIBC_2.2.5'
/usr/lib64/libcrypto.so: undefined reference to
`dlclose at GLIBC_2.2.5'
/usr/lib64/libcrypto.so: undefined reference to
`dlsym at GLIBC_2.2.5'
/usr/lib64/libcrypto.so: undefined reference to
`dladdr at GLIBC_2.2.5'

Strangely, libdl.so.2 and libz.so.1 are both there and libcrypto
is linked to them.

$ ldd /usr/lib64/libcrypto.so
          linux-vdso.so.1 (0x00007fff7d520000)
          libdl.so.2 => /lib64/libdl.so.2 (0x00007f3b2ef98000)
          libz.so.1 => /lib64/libz.so.1 (0x00007f3b2ed80000)
          libc.so.6 => /lib64/libc.so.6 (0x00007f3b2e9d0000)
          /lib64/ld-linux-x86-64.so.2 (0x00007f3b2f5a8000)

I've surfed around quite a bit and can't seem to find anything.
I solved a similar problem in the past by reinstalling glibc, but
that hasn't helped in this case. Any hints on where to look would
be appreciated.

Craig


More information about the Digitalmars-d-learn mailing list