[Issue 10710] shared phobos library doesn't work on all linux distributions

d-bugmail at puremagic.com d-bugmail at puremagic.com
Wed Jul 31 09:00:58 PDT 2013


http://d.puremagic.com/issues/show_bug.cgi?id=10710



--- Comment #13 from Jordi Sayol <g.sayol at yahoo.es> 2013-07-31 09:00:56 PDT ---
(In reply to comment #11)
> (In reply to comment #8)
> > This is not correct. All curl libraries on Debian like systems has versioned
> > symbols, source of this problem.
> 
> I didn't saw any versioned symbols but maybe nm doesn't show them or I made a
> mistake.

The command:

$ objdump -x libphobos2.so.0.64.0 | grep curl_easy

returns different symbols depending on which development curl library is
installed when linked:

with "libcurl4-openssl-dev":

0000000000000000       F *UND*    0000000000000000             
curl_easy_cleanup@@CURL_OPENSSL_3
0000000000000000       F *UND*    0000000000000000             
curl_easy_strerror@@CURL_OPENSSL_3
0000000000000000       F *UND*    0000000000000000             
curl_easy_setopt@@CURL_OPENSSL_3
0000000000000000       F *UND*    0000000000000000             
curl_easy_duphandle@@CURL_OPENSSL_3
0000000000000000       F *UND*    0000000000000000             
curl_easy_init@@CURL_OPENSSL_3
0000000000000000       F *UND*    0000000000000000             
curl_easy_pause@@CURL_OPENSSL_3
0000000000000000       F *UND*    0000000000000000             
curl_easy_perform@@CURL_OPENSSL_3


With "libcurl4-gnutls-dev":

0000000000000000       F *UND*    0000000000000000             
curl_easy_setopt@@CURL_GNUTLS_3
0000000000000000       F *UND*    0000000000000000             
curl_easy_strerror@@CURL_GNUTLS_3
0000000000000000       F *UND*    0000000000000000             
curl_easy_init@@CURL_GNUTLS_3
0000000000000000       F *UND*    0000000000000000             
curl_easy_cleanup@@CURL_GNUTLS_3
0000000000000000       F *UND*    0000000000000000             
curl_easy_duphandle@@CURL_GNUTLS_3
0000000000000000       F *UND*    0000000000000000             
curl_easy_perform@@CURL_GNUTLS_3
0000000000000000       F *UND*    0000000000000000             
curl_easy_pause@@CURL_GNUTLS_3


With "libcurl4-nss-dev":

0000000000000000       F *UND*    0000000000000000             
curl_easy_perform@@CURL_NSS_3
0000000000000000       F *UND*    0000000000000000             
curl_easy_duphandle@@CURL_NSS_3
0000000000000000       F *UND*    0000000000000000             
curl_easy_pause@@CURL_NSS_3
0000000000000000       F *UND*    0000000000000000             
curl_easy_setopt@@CURL_NSS_3
0000000000000000       F *UND*    0000000000000000             
curl_easy_cleanup@@CURL_NSS_3
0000000000000000       F *UND*    0000000000000000             
curl_easy_strerror@@CURL_NSS_3
0000000000000000       F *UND*    0000000000000000             
curl_easy_init@@CURL_NSS_3


And with Fedora curl development library:

0000000000000000       F *UND*    0000000000000000             
curl_easy_setopt
0000000000000000       F *UND*    0000000000000000              curl_easy_init
0000000000000000       F *UND*    0000000000000000              curl_easy_pause
0000000000000000       F *UND*    0000000000000000             
curl_easy_duphandle
0000000000000000       F *UND*    0000000000000000             
curl_easy_perform
0000000000000000       F *UND*    0000000000000000             
curl_easy_cleanup
0000000000000000       F *UND*    0000000000000000             
curl_easy_strerror


> 
> > We have used the same zip until now with great results. I prefer to have one
> > single libphobos library that properly runs on almost all Linux systems than
> > many different ones compiled phobos libraries, dmd command, etc., but if this
> > is not possible we have to change the way we have done until now. I don't think
> > that this is the case however.
> 
> So what do you suggest then, building libcurl from source?

As I said, I suggest two solutions:

- Compile/link libphobos on system where libcurl has not versioned symbols,
like Fedora.

- Compile/link into Ubuntu with a libcurl without versioned symbols, this
requires an specific package not available on default repositories. This option
do not mean in any way that these libraries should be given with libphobos,
this curl library is just used to properly link libphobos, even do not care if
the functions in it has some bug because these libraries will never be used at
run-time.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list