Skip to content

An utility to patch the Spotify linux binary to remove libraries that link to outdated symbols.

License

Notifications You must be signed in to change notification settings

saboya/spotify-patcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

spotify-patcher

An utility to patch the Spotify linux binary to remove libraries that link to outdated symbols.

Usage

./spotify_patcher.sh /path/to/spotify/binary

What is this for?

The Spotify binary is built against libraries with specific symbols that are not the most recent version in some Linux distributions out there, such as OPENSSL_1.0.0. Because of that, running Spotify gives me this error on Gentoo for example:

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)

This problem is not new and has been acknowledged by the company:

What does it do?

It searches for problematic libraries and removes them from the required libraries table. The problematic libraries are:

  • libssl.so
  • libcrypto.so
  • libcurl.so.4

Isn't that dangerous?

I don't think so, but use it at your own risk.

Testing

This has been tested on 64-bit binaries, as in I used Spotify extensively and had no issues. I wrote the patcher to work with 32-bit binaries as well, but the only test I did with a 32-bit binary was applying the patch and checking the binary with readelf.

This is known to work with Spotify 1.0.45 and 1.0.47 64-bit.

This script is not POSIX-compliant. I wrote it with Bash in mind, may or may not work with other shells.

Useful resources

About

An utility to patch the Spotify linux binary to remove libraries that link to outdated symbols.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages