Jump to page: 1 25  
Page
Thread overview
[Issue 10710] New: shared phobos library doesn't work on all linux distributions
Jul 24, 2013
Martin Nowak
Jul 24, 2013
Walter Bright
Jul 25, 2013
Jacob Carlborg
Jul 25, 2013
Martin Nowak
Jul 29, 2013
Dicebot
Jul 30, 2013
Martin Nowak
Jul 31, 2013
Jordi Sayol
Jul 31, 2013
Jordi Sayol
Jul 31, 2013
Jordi Sayol
Jul 31, 2013
Dicebot
Jul 31, 2013
Jordi Sayol
Jul 31, 2013
Martin Nowak
Jul 31, 2013
Dicebot
Jul 31, 2013
Jordi Sayol
Aug 01, 2013
Jordi Sayol
Aug 01, 2013
Martin Nowak
Aug 01, 2013
Jordi Sayol
Aug 20, 2013
Martin Nowak
Oct 13, 2013
Martin Nowak
Oct 13, 2013
Martin Nowak
Oct 13, 2013
Jordi Sayol
Oct 13, 2013
Martin Nowak
Oct 14, 2013
Jordi Sayol
Oct 15, 2013
Martin Nowak
Oct 15, 2013
Jordi Sayol
Oct 15, 2013
Dejan Lekic
Oct 15, 2013
Dicebot
Oct 15, 2013
Dejan Lekic
Oct 15, 2013
Martin Nowak
Oct 17, 2013
Martin Nowak
Oct 18, 2013
Jordi Sayol
Oct 24, 2013
Martin Nowak
Oct 24, 2013
Jacob Carlborg
Oct 24, 2013
Jacob Carlborg
Oct 24, 2013
Jordi Sayol
Oct 24, 2013
Jordi Sayol
Oct 24, 2013
Martin Nowak
Oct 24, 2013
Jordi Sayol
Oct 24, 2013
Jordi Sayol
Oct 24, 2013
Dejan Lekic
Oct 24, 2013
Dejan Lekic
Oct 24, 2013
Dicebot
Oct 24, 2013
Jordi Sayol
Oct 25, 2013
Dejan Lekic
Oct 29, 2013
Martin Nowak
July 24, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10710

           Summary: shared phobos library doesn't work on all linux
                    distributions
           Product: D
           Version: D2
          Platform: All
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: installer
        AssignedTo: nobody@puremagic.com
        ReportedBy: code@dawg.eu


--- Comment #0 from Martin Nowak <code@dawg.eu> 2013-07-24 07:07:49 PDT ---
The problem is that the currently distributed libphobos2.so is linked against a GnuTLS version of libcurl (libcurl-gnutls.so.4) but Fedora only ships with an OpenSSL version of that library.

----
ldd -r /usr/lib64/libphobos2.so
----
ldd: warning: you do not have execution permission for
`/usr/lib64/libphobos2.so'
    linux-vdso.so.1 =>  (0x00007fffbcd30000)
    libcurl-gnutls.so.4 => not found
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f6cfdf75000)
    libm.so.6 => /lib64/libm.so.6 (0x00007f6cfdc74000)
    librt.so.1 => /lib64/librt.so.1 (0x00007f6cfda6c000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f6cfd6b3000)
    /lib64/ld-linux-x86-64.so.2 (0x0000003dc8c00000)
undefined symbol: _Dmain    (/usr/lib64/libphobos2.so)
undefined symbol: curl_easy_setopt, version CURL_GNUTLS_3
(/usr/lib64/libphobos2.so)
undefined symbol: curl_slist_append, version CURL_GNUTLS_3
(/usr/lib64/libphobos2.so)
undefined symbol: curl_slist_free_all, version CURL_GNUTLS_3
(/usr/lib64/libphobos2.so)
undefined symbol: curl_global_cleanup, version CURL_GNUTLS_3
(/usr/lib64/libphobos2.so)
undefined symbol: curl_easy_strerror, version CURL_GNUTLS_3
(/usr/lib64/libphobos2.so)
undefined symbol: curl_easy_init, version CURL_GNUTLS_3
(/usr/lib64/libphobos2.so)
undefined symbol: curl_easy_cleanup, version CURL_GNUTLS_3
(/usr/lib64/libphobos2.so)
undefined symbol: curl_easy_duphandle, version CURL_GNUTLS_3
(/usr/lib64/libphobos2.so)
undefined symbol: curl_easy_perform, version CURL_GNUTLS_3
(/usr/lib64/libphobos2.so)
undefined symbol: curl_easy_pause, version CURL_GNUTLS_3
(/usr/lib64/libphobos2.so)
undefined symbol: curl_global_init, version CURL_GNUTLS_3
(/usr/lib64/libphobos2.so)
----

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
July 24, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10710


Walter Bright <bugzilla@digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bugzilla@digitalmars.com


--- Comment #1 from Walter Bright <bugzilla@digitalmars.com> 2013-07-24 13:23:21 PDT ---
Yes, this is the issue Jordi Sayol has been talking about. We couldn't find an acceptable solution (Jordi suggested making a custom build of libcurl on Ubuntu, while that works, I regard that as impractical for 3rd parties wanting to fork/build phobos from the repository).

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
July 25, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10710


Jacob Carlborg <doob@me.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |doob@me.com


--- Comment #2 from Jacob Carlborg <doob@me.com> 2013-07-25 00:04:50 PDT ---
Why do we want to link to the GnuTLS version? Can't we link with the system default or something like that? I find this page describing some differences between the SSL libraries supported by libcurl.

http://curl.haxx.se/docs/ssl-compared.html

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
July 25, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10710



--- Comment #3 from Martin Nowak <code@dawg.eu> 2013-07-25 12:10:13 PDT ---
It assumed that GnuTLS is default version on Debian but this page suggest it's
not.
http://packages.debian.org/search?keywords=libcurl3
So we need to find out why we're linking against the wrong library.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
July 29, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10710


Dicebot <public@dicebot.lv> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |public@dicebot.lv


--- Comment #4 from Dicebot <public@dicebot.lv> 2013-07-29 14:10:28 PDT ---
Problem does not exist on Arch Linux as it does not use .zip and uses git tag instead.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
July 30, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10710



--- Comment #5 from Martin Nowak <code@dawg.eu> 2013-07-30 12:46:44 PDT ---
libcurl4-dev is a virtual package provided by
  libcurl4-openssl-dev
  libcurl4-nss-dev
  libcurl4-gnutls-dev

So this issue can be solved by installing replacing libcurl4-gnutls-dev with libcurl4-openssl-dev on the build machine.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
July 31, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10710


Jordi Sayol <g.sayol@yahoo.es> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |g.sayol@yahoo.es


--- Comment #6 from Jordi Sayol <g.sayol@yahoo.es> 2013-07-31 01:02:30 PDT ---
This is a known issue.
On Debian, Ubuntu, etc., all curl libraries has "versioned symbols", which are
not properly handled by others Linux systems like Fedora, OpenSUSE, etc., where
their curl libraries do not have any versioned symbol.

libphobos linked on Debian includes libcurl versioned symbols which will not work on Fedora, but libphobos linked on Fedora will work on Debian.

So there are two possible solutions:

- Link libphobos on a system like Fedora (libcurl without versioned symbols).

- Install a non versioned symbols curl libraries on Debian, and resulting phobos library will work on almost every Linux system.

I just offered Walter a personalized deb package which installs Fedora's curl libraries (non versioned symbols) on Ubuntu (until now Linux building process was done on Ubuntu). These libraries will only be used to link libphobos, and resulting libraries will works on almost all Linux systems. This deb package will NEVER be publicly offered because is NOT needed by any user.

Someone knows another way to fix this? Removing the lubcurl dependency on libphobos in not an option, at least by the moment.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
July 31, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10710



--- Comment #7 from Jordi Sayol <g.sayol@yahoo.es> 2013-07-31 01:11:54 PDT ---
(In reply to comment #4)
> Problem does not exist on Arch Linux as it does not use .zip and uses git tag instead.

This is correct because Arch packages links its own libphobos on Arch, and don't use the libphobos from release zip archive.

In other words, libphobos compiled/linked in an Specific Linux system will always work on this specific Linux system.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
July 31, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10710



--- Comment #8 from Jordi Sayol <g.sayol@yahoo.es> 2013-07-31 01:13:49 PDT ---
(In reply to comment #5)
> libcurl4-dev is a virtual package provided by
>   libcurl4-openssl-dev
>   libcurl4-nss-dev
>   libcurl4-gnutls-dev
> 
> So this issue can be solved by installing replacing libcurl4-gnutls-dev with libcurl4-openssl-dev on the build machine.

This is not correct. All curl libraries on Debian like systems has versioned symbols, source of this problem.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
July 31, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10710



--- Comment #9 from Dicebot <public@dicebot.lv> 2013-07-31 05:44:06 PDT ---
(In reply to comment #7)
 This is correct because Arch packages links its own libphobos on Arch, and
> don't use the libphobos from release zip archive.
> 
> In other words, libphobos compiled/linked in an Specific Linux system will always work on this specific Linux system.

That is exactly what I have meant. Why do we insist on using the same .zip archive built on Debian-like system everywhere? Native packaging does avoid this problem and scales much better.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
« First   ‹ Prev
1 2 3 4 5