Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Spotify and symbol versioning (OPENSSL / CURL)
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Multimedia
View previous topic :: View next topic  
Author Message
saboya
Guru
Guru


Joined: 28 Nov 2006
Posts: 552
Location: Brazil

PostPosted: Wed Jan 11, 2017 5:07 am    Post subject: Spotify and symbol versioning (OPENSSL / CURL) Reply with quote

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
View user's profile Send private message
Juippisi
Developer
Developer


Joined: 30 Sep 2005
Posts: 722
Location: /home

PostPosted: Wed Jan 11, 2017 6:57 am    Post subject: Reply with quote

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
View user's profile Send private message
saboya
Guru
Guru


Joined: 28 Nov 2006
Posts: 552
Location: Brazil

PostPosted: Wed Jan 11, 2017 10:22 am    Post subject: Reply with quote

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
View user's profile Send private message
Xonak
n00b
n00b


Joined: 18 Mar 2013
Posts: 21

PostPosted: Thu Jan 12, 2017 2:00 pm    Post subject: Enlightenment: Spotify and symbol versioning (OpenSSL/cURL) Reply with quote

saboya wrote:
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
Someone should also enlighten them!
Code:
https://community.spotify.com/spotify/rss/message?board.id=001&message.id=167728
Back to top
View user's profile Send private message
saboya
Guru
Guru


Joined: 28 Nov 2006
Posts: 552
Location: Brazil

PostPosted: Mon Jan 16, 2017 11:40 pm    Post subject: Reply with quote

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
View user's profile Send private message
Juippisi
Developer
Developer


Joined: 30 Sep 2005
Posts: 722
Location: /home

PostPosted: Tue Jan 17, 2017 8:19 am    Post subject: Reply with quote

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
View user's profile Send private message
saboya
Guru
Guru


Joined: 28 Nov 2006
Posts: 552
Location: Brazil

PostPosted: Tue Jan 17, 2017 9:16 am    Post subject: Reply with quote

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
View user's profile Send private message
pfc
n00b
n00b


Joined: 14 Jan 2017
Posts: 9

PostPosted: Wed Jan 18, 2017 8:27 am    Post subject: 1.0.47 working for me too Reply with quote

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
View user's profile Send private message
saboya
Guru
Guru


Joined: 28 Nov 2006
Posts: 552
Location: Brazil

PostPosted: Wed Jan 18, 2017 9:19 am    Post subject: Reply with quote

That's interesting. Mine wouldn't run at all, and runs fine after I patch it.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Multimedia All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum