View previous topic :: View next topic |
Author |
Message |
saboya Guru
Joined: 28 Nov 2006 Posts: 552 Location: Brazil
|
Posted: Wed Jan 11, 2017 5:07 am Post subject: Spotify and symbol versioning (OPENSSL / CURL) |
|
|
So, I don't know why but at some point Spotify stopped working for me. Running in the console gives me the following message:
Code: | spotify: /usr/lib64/libssl.so.1.0.0: version `OPENSSL_1.0.0' not found (required by spotify)
spotify: /usr/lib64/libcrypto.so.1.0.0: version `OPENSSL_1.0.0' not found (required by spotify)
spotify: /usr/lib64/libcurl.so.4: version `CURL_OPENSSL_3' not found (required by spotify) |
I have no idea where exactly is the problem, and since I recently recompiled my entire system with bleeding edge toolchain (GCC 6.3, glibc 2.24, binutils 2.27, gold), it might have something to do with it, but since there are others with the same problem, I'm not so sure.
A quick google search led me to this topic: https://forums.gentoo.org/viewtopic-t-1014028-start-0.html
I considered 3 solutions:
1 - Dropping custom libs inside Spotify folder with the versioned symbols: Not really a fan of this solution.
2 - Compiling libssl and libcurl with versioned symbols: Seems ok, but there must be a reason why they are left out, and I'm not comfortable messing with something that could screw my entire system.
3 - Modifying the Spotify executable to not depend on those symbols: Sounds like the safest approach, as crazy as that might be.
jharvell's post was enlightening about the issue, After learning a bit about the problem, I managed to do it for the current Spotify binary. I wrote a script to do this automagically, if anyone is interested: https://gist.github.com/saboya/4c6726756061acaad1b99c81f52ae3bb
Warning: This modifies the executable in-place, no backups are made. I verify the SHA256SUM to make sure it's the correct version, but use it at your own risk.
If anyone has a better solution for this, please let me know. For now, this is all I got.
Thanks in advance, hope this helps someone. |
|
Back to top |
|
|
Juippisi Developer
Joined: 30 Sep 2005 Posts: 722 Location: /home
|
Posted: Wed Jan 11, 2017 6:57 am Post subject: |
|
|
What openssl and spotify versions are you running?
Guess I need to be careful when syncing and updating next time...
Code: |
[ebuild R ] dev-libs/openssl-1.0.2j::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)" 5,184 KiB
[ebuild R ] media-sound/spotify-1.0.45-r1::gentoo USE="pulseaudio -gnome -pax_kernel" 70,491 KiB
|
|
|
Back to top |
|
|
saboya Guru
Joined: 28 Nov 2006 Posts: 552 Location: Brazil
|
Posted: Wed Jan 11, 2017 10:22 am Post subject: |
|
|
Same version as you, apparently.
Code: | ebuild R ] dev-libs/openssl-1.0.2j::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)" 5.184 KiB
[ebuild R ] media-sound/spotify-1.0.45-r1::gentoo USE="gnome pulseaudio -pax_kernel" 70.491 KiB |
|
|
Back to top |
|
|
Xonak n00b
Joined: 18 Mar 2013 Posts: 21
|
Posted: Thu Jan 12, 2017 2:00 pm Post subject: Enlightenment: Spotify and symbol versioning (OpenSSL/cURL) |
|
|
Someone should also enlighten them!
Code: | https://community.spotify.com/spotify/rss/message?board.id=001&message.id=167728 |
|
|
Back to top |
|
|
saboya Guru
Joined: 28 Nov 2006 Posts: 552 Location: Brazil
|
Posted: Mon Jan 16, 2017 11:40 pm Post subject: |
|
|
Well, that didn't last long, 1.0.47 already hit the tree.
I decided to write a patcher that will work on any version: https://github.com/saboya/spotify-patcher
Very hack-ish implementation, but does the job. Hope this helps someone. |
|
Back to top |
|
|
Juippisi Developer
Joined: 30 Sep 2005 Posts: 722 Location: /home
|
Posted: Tue Jan 17, 2017 8:19 am Post subject: |
|
|
Well I just updated to 1.0.47 and its working like a charm.
Maybe that gold linker is doing something bad? And/Or if you are using some LTO-graphite optimizations.... ? |
|
Back to top |
|
|
saboya Guru
Joined: 28 Nov 2006 Posts: 552 Location: Brazil
|
Posted: Tue Jan 17, 2017 9:16 am Post subject: |
|
|
I most likely has something to do with my toolchain, either gold or compile flags, I have no idea. But I've seen other people have problems outside of Gentoo (Debian, Arch), so I don't know, really. |
|
Back to top |
|
|
pfc n00b
Joined: 14 Jan 2017 Posts: 9
|
Posted: Wed Jan 18, 2017 8:27 am Post subject: 1.0.47 working for me too |
|
|
It seems, for me at least, that the problem has nothing to do with the missing symbols.
This is my current output for Spotify 1.0.47 and it's working fine.
Code: | /opt/spotify/spotify-client/spotify: /usr/lib64/libssl.so.1.0.0: no version information available (required by /opt/spotify/spotify-client/spotify)
/opt/spotify/spotify-client/spotify: /usr/lib64/libcrypto.so.1.0.0: 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)
/opt/spotify/spotify-client/spotify: /usr/lib64/libssl.so.1.0.0: no version information available (required by /opt/spotify/spotify-client/spotify)
/opt/spotify/spotify-client/spotify: /usr/lib64/libcrypto.so.1.0.0: 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)
[0118/091327:ERROR:main_delegate.cc(752)] Could not load cef_extensions.pak
/proc/self/exe: /usr/lib64/libssl.so.1.0.0: no version information available (required by /proc/self/exe)
/proc/self/exe: /usr/lib64/libcrypto.so.1.0.0: 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)
[0118/091327:ERROR:main_delegate.cc(752)] Could not load cef_extensions.pak |
Before the update, it would segfault right after inputting logon credentials and pressing <enter>, so perhaps Spotify was trying to access something that wasn't there, and the update fixed that problem.
Info for the relevant packages on my system:
Code: | dev-libs/openssl-1.0.2j::gentoo USE="asm bindist sslv3 tls-heartbeat zlib -gmp -kerberos -rfc3779 -sctp -sslv2 -static-libs {-test} -vanilla" ABI_X86="32 (64) (-x32)" CPU_FLAGS_X86="(sse2)"
net-misc/curl-7.52.1-r1::gentoo USE="ipv6 ssl -adns -http2 -idn -kerberos -ldap -metalink -rtmp -samba -ssh -static-libs {-test} -threads" ABI_X86="32 (64) (-x32)" CURL_SSL="openssl -axtls -gnutls (-libressl) -mbedtls -nss -polarssl (-winssl)"
media-sound/spotify-1.0.47::gentoo USE="pulseaudio -gnome -pax_kernel" |
|
|
Back to top |
|
|
saboya Guru
Joined: 28 Nov 2006 Posts: 552 Location: Brazil
|
Posted: Wed Jan 18, 2017 9:19 am Post subject: |
|
|
That's interesting. Mine wouldn't run at all, and runs fine after I patch it. |
|
Back to top |
|
|
|