Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 651770 - media-sound/spotify-1.0.72 fails to start with missing symbol "CURL_OPENSSL_3" when net-misc/curl is built with ld.gold
Summary: media-sound/spotify-1.0.72 fails to start with missing symbol "CURL_OPENSSL_3...
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal with 1 vote (vote)
Assignee: Matthew Thode ( prometheanfire )
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: systemwide-gold
  Show dependency tree
 
Reported: 2018-03-27 18:12 UTC by Tomasz Golinski
Modified: 2023-02-01 07:28 UTC (History)
7 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
preload file (spotify.preload.c,1.02 KB, text/x-csrc)
2018-05-19 17:28 UTC, Matthew Thode ( prometheanfire )
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Tomasz Golinski 2018-03-27 18:12:25 UTC
Spotify doesn't start and complains about missing symbol "CURL_OPENSSL_3". My version of Curl is built with USE=ssl and CURL_SSL=openssl.

/opt/spotify/spotify-client/spotify: /usr/lib64/libcurl.so.4: version `CURL_OPENSSL_3' not found (required by /opt/spotify/spotify-client/spotify)

Downgrading to curl-7.58.0 solves the issue, but spotify still complains a bit (but runs fine):

/opt/spotify/spotify-client/spotify: /usr/lib64/libcurl.so.4: no version information available (required by /opt/spotify/spotify-client/spotify)
/opt/spotify/spotify-client/spotify: /usr/lib64/libcurl.so.4: no version information available (required by /opt/spotify/spotify-client/spotify)
/proc/self/exe: /usr/lib64/libcurl.so.4: no version information available (required by /proc/self/exe)
Comment 1 Joonas Niilola gentoo-dev 2018-03-27 19:41:05 UTC
Are you using a gold linker? I had this problem when I switched to gold linker, but it was fixed when I compiled openssl and curl using bfd linker.

If you have a 'vanilla' system, we might have to wait for an update from spotify and see if that fixes it (built against newer curl).

Here are my versions and USE flags, spotify works fine.
[ebuild   R    ] net-misc/curl-7.59.0::gentoo  USE="ldap ssl threads -adns -brotli -http2 -idn -ipv6 -kerberos -metalink -rtmp -samba -ssh -static-libs -test" ABI_X86="32 (64) (-x32)" CURL_SSL="openssl -axtls -gnutls -libressl -mbedtls -nss (-winssl)" 0 KiB
[ebuild   R    ] dev-libs/openssl-1.0.2n::gentoo  USE="asm sslv3 tls-heartbeat zlib -bindist -gmp -kerberos -rfc3779 -sctp -sslv2 -static-libs -test -vanilla" ABI_X86="32 (64) (-x32)" CPU_FLAGS_X86="(sse2)" 0 KiB
Comment 2 Tomasz Golinski 2018-03-27 20:30:36 UTC
You're right, than you. I had enabled gold for some time and probably compiled curl-7.59.0 with it. Later I switched back to bfd and that's why downgrading to 7.58.0 solved the issue for me. Now I built 7.59.0 with bfd and spotify works with it.

Not sure if incompatibility with gold still makes it a bug.
Comment 3 wolfwood 2018-05-19 02:44:07 UTC
I'm also seeing this issue
Comment 4 Matthew Thode ( prometheanfire ) archtester Gentoo Infrastructure gentoo-dev Security 2018-05-19 17:28:15 UTC
Created attachment 532238 [details]
preload file

This workaround works for me, but I don't use the gold linker.  Only upstream can fix if the attached file doesn't work for you.
Comment 5 Matthew Thode ( prometheanfire ) archtester Gentoo Infrastructure gentoo-dev Security 2018-05-19 17:29:33 UTC
they did say that the ldpreload was part of 1.0.79 though.  I'm guessing that you are all still having the issue with that version?
Comment 6 fkater 2019-06-01 15:12:10 UTC
I can confirm this issue with all current versions of spotify: 1.0.98 and 1.1.5-r1.

I get a slightly different error on libcurl.so.4: CURL_GNUTLS_3 is not found.

Various tests (re-)compiling gnutls, curl, curl against gnutls or libressl etc did not succeed.

What finally helped was: Disabling -default-gold and recompiling gnutls and curl.

There is still an error message at start:

/opt/spotify/spotify-client/spotify: /usr/lib64/libcurl.so.4: no version information available (required by /opt/spotify/spotify-client/spotify)
/opt/spotify/spotify-client/spotify: /usr/lib64/libcurl.so.4: no version information available (required by /opt/spotify/spotify-client/spotify)
/proc/self/exe: /usr/lib64/libcurl.so.4: no version information available (required by /proc/self/exe)

However, spotify starts nevertheless.

BTW: Yes, I am forcing spotify against libressl using --nodeps.

Thanks a lot, OP, for filling the gentoo db with this important hint!
Comment 7 Bernardo Meurer 2019-06-18 00:22:40 UTC
Adding the following lines to your package.cflags file solves the issue:
```
net-libs/gnutls /-fuse-ld=*/-fuse-ld=bfd
net-misc/curl /-fuse-ld=*/-fuse-ld=bfd
```
Comment 8 Benedikt Reinartz 2019-06-28 06:29:41 UTC
I had the same problem, for me it was enough to force bfd on curl.
Comment 9 Eduardo 2020-04-01 03:51:13 UTC
Hi, newbie bug-question: how can I "force bfd on curl"? I have read the Gold documentation but don't understand yet how to "force bfd" on a program.
I have followed Bernardo Meurer's solution in /etc/portage/package.cflags, but Spotify says that a firewall may be blocking spotify. I get the following output in terminal:

/opt/spotify/spotify-client/spotify: /usr/lib64/libcurl.so.4: no version information available
(required by /opt/spotify/spotify-client/spotify)
/opt/spotify/spotify-client/spotify: /usr/lib64/libcurl.so.4: no version information available
(required by /opt/spotify/spotify-client/spotify)
/proc/self/exe: /usr/lib64/libcurl.so.4: no version information available (required by /proc/self/exe)
/proc/self/exe: /usr/lib64/libcurl.so.4: no version information available (required by /proc/self/exe)
[0401/004505.530432:ERROR:buffer_manager.cc(488)] [.DisplayCompositor]GL ERROR :GL_INVALID_OPERATION : glBufferData: <- error from previous GL command

My package.use seems like this:
````````````````
media-sound/spotify libnotify pax_kernel
net-misc/curl bfd upstream ldap ssl threads -adns -brotli -http2 -idn -ipv6 -kerberos -metalink -rtmp -samba -ssh -static-libs -test
dev-libs/openssl-1.0.2n  asm sslv3 tls-heartbeat zlib -bindist -gmp -kerberos -rfc3779 -sctp -sslv2 -static-libs -test -vanilla
media-sound/mpd curl

Also, I can login as root, but the client is offline
How can I fix this?