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@GLIBC_2.2.5'
/usr/lib64/libcrypto.so: undefined reference to
`dlerror@GLIBC_2.2.5'
/usr/lib64/libcrypto.so: undefined reference to
`dlclose@GLIBC_2.2.5'
/usr/lib64/libcrypto.so: undefined reference to
`dlsym@GLIBC_2.2.5'
/usr/lib64/libcrypto.so: undefined reference to
`dladdr@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

Reply via email to