Gå til innhold

Native Spotify på Fedora 15


Anbefalte innlegg

Etter at Spotify fjernet muligheten til å installere native klienten har det vært litt tricky å få det til på vanlig måte. Dog, etter litt fant jeg en guide som jeg fulgte:

 

1.Open the terminal and install binutils (to open .deb files)
# sudo yum install binutils

2. Extract Spotify archive from the .deb file
- download the latest "amd64" .deb package at http://repository.spotify.com/pool/non-free/s/spotify/
- open it with Archive Manager
- extract the "data.tar.gz" file from the .deb file

3. Extract Spotify files from "data.tar.gz" (assuming "data.tar.gz" is located in your home folder)
# sudo tar -C / -zxvf ~/data.tar.gz

4. Install dependencies ("qt-webkit" and "libXScrnSaver" were enough for me but others may be needed)
# sudo yum install qt-webkit libXScrnSaver

5. Replace deprecated libraries by a link to their latest version
# sudo ln -s /usr/lib64/libssl.so.1.0.0e /usr/lib64/libssl.so.0.9.8
# sudo ln -s /lib64/libcrypto.so.1.0.0e /lib64/libcrypto.so.0.9.8

In the future, libssl and libcrypto versions installed may change, 
so check which files are present on your machine before executing step 5.
For 32-bits version, downloading the "i386" file at step 2 and getting rid 
of the four occurences of "64" at step 5 should do the trick.

 

Etter dette fungerte native klienten en gang. Etter det har den ikke fungert. Jeg prøvde å kjøre den i terminalen, og fikk denne feilmeldingen:

 

./spotify: error while loading shared libraries: libssl.so.0.9.8: 
cannot open shared object file: No such file or directory

 

Så har jeg prøvd igjen å finne løsning på dette på google, og stort sett går det i å bruke metoden

 

sudo ln -s /usr/lib/libssl.so /usr/lib/libssl.so.0.9.8

 

Men dette har ikke fungert for meg. Tips?

Endret av vebbiii
Lenke til kommentar
Videoannonse
Annonse

 

sudo ln -s /usr/lib/libssl.so /usr/lib/libssl.so.0.9.8

 

Men dette har ikke fungert for meg. Tips?

 

Her er det vel bedre å la libssl.so.0.9.8 peke på libssl.so.1.0.0? For meg i Gentoo så er det allerede en link fra libssl.so som peker på libssl.so.1.0.0.

 

Jeg prøvde forøvrig det over, men det som skjedde da, var at Spotify krasjet med en gang.

Løsningen fant jeg ut var å ender binærfila til Spotify slik at den ser etter libssl.1.0.0 og libcrypto.1.0.0:

 

 

I'd previously just edited the binary with vim (and it seems to work so far),

but for doing it in the ebuild, sed appears to manage OK:

 

sed -i -e 's/\(lib\(ssl\|crypto\).so\).0.9.8/\1.1.0.0/g' spotify

 

I checked the OpenSSL headers for 0.9.8 and 1.0.0 for the functions that

Spotify uses, and it does seem as though none of them changed signature in any

significant way (other than const changes and the like). I didn't check deeply

into the maze of structs that OpenSSL uses, so it's possible that if Spotify

accesses any struct members directly it could cause problems, but like I said

it does seem to work in practice. There is also the potential for future

versions of Spotify to start using functions that have changed, so an official

fix from upstream would still be preferable, but this should do for now.

 

Se denne tråden på bugs.gentoo.org:

https://bugs.gentoo.org/show_bug.cgi?id=373093

Lenke til kommentar

Jeg fant ut av det :) Problemet er jo at native spotify på linux bruker libssl.so.0.9.8 og libcrypto.so.0.9.8, i stedet for nye versjoner. Nå var den nyeste hos meg 1.0.0f, og jeg måtte endre slik at 0.9.8 pekte på denne. Men det virker veldig tungvindt å gjøre dette hver gang.

 

Å endre binærfilen vil vel gå for det samme som min løsning vil jeg tro?

 

Uansett tror jeg at jeg kommer til å lage et script for å slippe å gjøre dette manuelt flere ganger.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...