Thread overview | |||||
---|---|---|---|---|---|
|
July 15, 2013 dmd2.063.2 packaged libphobos2.so and linux disto libcurl.so dependency issue | ||||
---|---|---|---|---|
| ||||
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@CURL_OPENSSL_3' /opt/dmd2/linux/bin32/../lib32/libphobos2.so: undefined reference to `curl_easy_cleanup@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? Thanks. Arjan |
July 15, 2013 Re: dmd2.063.2 packaged libphobos2.so and linux disto libcurl.so dependency issue | ||||
---|---|---|---|---|
| ||||
Posted in reply to Arjan | On Monday, 15 July 2013 at 13:13:53 UTC, Arjan wrote:
> ...
Shared library support is only semi-official so packaging/toolchain issues are expected within a reasonable limit. Thanks for your report, that is definitely worth paying attention to in next release.
P.S. IMHO a typical example why providing packages on dlang.org instead of delegating maintenance to actual platform users is not a good idea ;)
|
July 15, 2013 Re: dmd2.063.2 packaged libphobos2.so and linux disto libcurl.so dependency issue | ||||
---|---|---|---|---|
| ||||
Posted in reply to Arjan | 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@CURL_OPENSSL_3' > /opt/dmd2/linux/bin32/../lib32/libphobos2.so: undefined reference to `curl_easy_cleanup@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 |
Copyright © 1999-2021 by the D Language Foundation