Summary: | media-sound/spotify-1.0.72 fails to start with missing symbol "CURL_OPENSSL_3" when net-misc/curl is built with ld.gold | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Tomasz Golinski <tomaszg> |
Component: | Current packages | Assignee: | Matthew Thode ( prometheanfire ) <prometheanfire> |
Status: | UNCONFIRMED --- | ||
Severity: | normal | CC: | base-system, esigra, jj, kangie, kensington, kuba.iluvatar, rei4dan |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 269315 | ||
Attachments: | preload file |
Description
Tomasz Golinski
2018-03-27 18:12:25 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 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. I'm also seeing this issue 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.
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? 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! 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 ``` I had the same problem, for me it was enough to force bfd on curl. 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? |