dmd2.063.2 packaged libphobos2.so and linux disto libcurl.so dependency issue

Jordi Sayol g.sayol at yahoo.es
Mon Jul 15 08:30:05 PDT 2013


On 15/07/13 15:13, Arjan wrote:
> Hello,
> 
> After installing the DMD2.063.2 rpm on openSUSE-12.2 and openSUSE-12.3 (both 32bits) I had some trouble with building dub (~master). Linkage failed with:
> dmd -ofbin/dub -g -debug -w -property -Isource  -L-lphobos2 -L-lcurl   @build-files.txt ....
> /opt/dmd2/linux/bin32/../lib32/libphobos2.so: undefined reference to `curl_global_cleanup at CURL_OPENSSL_3'
> /opt/dmd2/linux/bin32/../lib32/libphobos2.so: undefined reference to `curl_easy_cleanup at CURL_OPENSSL_3'...
> 
> The same issues occurred with the zip.
> Building a sample c/c++ program using libcurl linked without problems...
> 
> After some dissection this was revealed:
> ldd on libphobos2.so shows:
> ldd /opt/dmd2/linux/lib32/libphobos2.so
> ldd: warning: you do not have execution permission for `/opt/dmd2/linux/lib32/libphobos2.so'
> /opt/dmd2/linux/lib32/libphobos2.so: /usr/lib/libcurl.so.4: no version information available (required by /opt/dmd2/linux/lib32/libphobos2.so)
>         linux-gate.so.1 (0xb77bf000)
>         libcurl.so.4 => /usr/lib/libcurl.so.4 (0xb748d000)
> 
> Turns out the supplied libphobos2.so in the zip/rpm is linked against a newer version of libcurl than available on openSUSE-12.x. I can imagine this does not only affect openSUSE-12 users.
> 
> After a git clone and checkout of dmd/druntime/phobos, the host-build dmd could compile-and-link dub without problems.
> 
> So, would it be possible for the next release of the zip and rpms to link libphobos against a older (oldest possible) libcurl to alleviate/resolve this problem?
> 

This is a known problem and will be fixed on the next release.
Current phobos shared library has "libcurl versioned symbols" (@CURL_OPENSSL_3) and they are only usable on systems like Debian, Ubuntu, Linux Mint, etc. This problem is not related to the libcurl version.

Regards,
-- 
Jordi Sayol


More information about the Digitalmars-d mailing list