Spotify client

Latest Spotify client re-packaged from the Ubuntu packages for supported Fedora and RHEL/CentOS distributions.spotify-client

Supported distributions:

  • Fedora – i686/x86_64
  • RHEL/CentOS – x86_64

This repository does not require any additional repository be enabled on your system.

Package information

This package tries to comply as maximum to the Fedora Packaging Guidelines; this means the packages has debuginfo packages, default Fedora’s GCC compile time options (where possible) and standard locations for binaries, data and docs.

The provided client is binary only and compiled for Ubuntu, so the Fedora package de-assembles the original Ubuntu package and moves all files in the appropriate places.

The spotify binary has a RUNPATH of its origin folder. It requires an OpenSSL 1.0 library and a FFMpeg 0.10.6 library compiled with minimum options (no external dependencies) for local file playback and conversion. There are a couple of caveats:

  • The OpenSSL 1.0 library breaks Steam if it is picked up automatically from the system path. It can be loaded from the RUNPATH in its private folder.
  • The FFMpeg library is loaded ONLY on the system path libraries, ignoring the RUNPATH.

Due to this, I’ve removed the RUNPATH from the binary, put all the libraries in its private folder and made sure that only the spotify binary can access them.

$ cd /usr/lib64/spotify-client
$ ls -l lib*
lrwxrwxrwx. 1 root root        23 Mar  1 19:21 libavcodec.so.53 -> libavcodec.so.53.61.100
-rwxr-xr-x. 1 root root   6986488 Mar  1 19:21 libavcodec.so.53.61.100
lrwxrwxrwx. 1 root root        24 Mar  1 19:21 libavformat.so.53 -> libavformat.so.53.32.100
-rwxr-xr-x. 1 root root   1190864 Mar  1 19:21 libavformat.so.53.32.100
lrwxrwxrwx. 1 root root        22 Mar  1 19:21 libavutil.so.51 -> libavutil.so.51.35.100
-rwxr-xr-x. 1 root root    136424 Mar  1 19:21 libavutil.so.51.35.100
-rwxr-xr-x. 1 root root 113496288 Apr 10 11:00 libcef.so
-rwxr-xr-x. 1 root root   1864256 Mar  1 19:23 libcrypto.so.1.0.0
lrwxrwxrwx. 1 root root        23 Mar  1 19:21 libpostproc.so.52 -> libpostproc.so.52.0.100
-rwxr-xr-x. 1 root root     97808 Mar  1 19:21 libpostproc.so.52.0.100
-rwxr-xr-x. 1 root root    402056 Mar  1 19:23 libssl.so.1.0.0
lrwxrwxrwx. 1 root root        24 Mar  1 19:21 libswresample.so.0 -> libswresample.so.0.6.100
-rwxr-xr-x. 1 root root     36392 Mar  1 19:21 libswresample.so.0.6.100
-rwxr-xr-x. 1 root root     92464 Apr 14 14:47 libwidevinecdmadapter.so
$ chrpath -l spotify
spotify: no rpath or runpath tag found.

Installation

To install the repository on a supported Fedora distribution, run as root the following command:

dnf config-manager --add-repo=https://negativo17.org/repos/fedora-spotify.repo

To do the same on CentOS/RHEL:

yum-config-manager --add-repo=https://negativo17.org/repos/epel-spotify.repo

Then, to install the client and its data files, perform the following command:

# yum -y install spotify-client

Bugs

The address for contacting me is in the package’s changelog.

288 thoughts to “Spotify client”

  1. This is currently not installable for me. Running “sudo dnf repository-packages fedora-spotify list all” only shows compat-libgcrypt{,-devel}.{i686,x86_64}

    1. Something wrong here. The package is there:

      #  dnf repository-packages fedora-spotify list all
      Last metadata expiration check: 0:00:09 ago on Sun Apr 17 19:22:48 2016.
      Installed Packages
      compat-libgcrypt.i686            1.5.5-5.fc23                    @fedora-spotify
      compat-libgcrypt.x86_64          1.5.5-5.fc23                    @fedora-spotify
      spotify-client.x86_64            1.0.26.125.g64dc8bc6-1.fc23     @fedora-spotify
      Available Packages
      compat-libgcrypt-devel.i686      1.5.5-5.fc23                    fedora-spotify
      compat-libgcrypt-devel.x86_64    1.5.5-5.fc23                    fedora-spotify
  2. Is it possible to find older versions of this package somewhere? Spotify 1.0.26 comes with broken mpris2 support, so I would like to downgrade to previous version.

    1. False alarm. Looks like it was problem with dbus on my system. Still, it would be nice if you could keep previous version on the repository in case something breaks. Anyway, thanks for good work!

  3. Hello. I’m using the Spotify client and I do have the ffmpeg-libs library installed, but my client keeps crashing anytime I try to play the local files. Any thoughts?

    1. Not really, the client relies on a “whitelisted” set of FFMPeg libraries, but since being a binary blob it’s not possible to recompile or debug it:

      $ strings /usr/lib64/spotify-client/spotify | grep -i libav
      libavformat.so.56
      libavformat.so.54
      libavformat.so.53
      libavformat.so.52
      libavcodec.so.56
      libavcodec.so.54
      libavcodec.so.53
      libavcodec.so.52
  4. Do you keep old versions of the spotify rpm anywhere? Looks like they messed up dbus support in 1.0.24.104 again and I’d like to go back to 1.0.23.93 where it worked better. I can’t find the old rpm in the repo anymore though.

  5. I’m usign Centos 7 / RHEL 7, when execute spotify, I recieve those messages:

    spotify: /lib64/libcurl.so.4: no version information available (required by spotify)

    spotify: symbol lookup error: /usr/lib64/spotify-client/libcef.so: undefined symbol: g_type_class_adjust_private_offset

  6. You rock! Thanks so much for putting this together. This version actually works better on Fedora than the Ubuntu version does on Lubuntu 15.10 where the Friends functionality is broken.

  7. Thank you for porting spotify to fedora.

    But I have one little problem:
    Spotify is not displayed as running app in taskbar.
    I’m running F23 x86_64 with Cinnamon 2.8.6.

    1. The bundle is a binary only application, you should point this upstream. I think they switched to appindicator or gnome 3 notifications. Not sure though.

  8. Hello, I’m having error:

    spotify: /lib64/libcurl.so.4: no version information available (required by spotify)
    [0114/114359:ERROR:main_delegate.cc(738)] Could not load cef_extensions.pak
    [0114/114359:ERROR:browser_main_loop.cc(189)] Running without the SUID sandbox! See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for more information on developing with the sandbox on.
    /usr/lib64/spotify-client/spotify: /lib64/libcurl.so.4: no version information available (required by /usr/lib64/spotify-client/spotify)
    /proc/self/exe: /lib64/libcurl.so.4: no version information available (required by /proc/self/exe)
    [0114/114359:ERROR:main_delegate.cc(738)] Could not load cef_extensions.pak
    [0114/114359:ERROR:main_delegate.cc(738)] Could not load cef_extensions.pak
    [0114/114400:ERROR:renderer_main.cc(200)] Running without renderer sandbox
    13:44:00.197 W [mpris.cpp:137 ] Unrecognized or unimplemented MPRIS MediaPlayer2 method ‘GetAll’

    I’m using Fedora 22 KDE x86_64

    Thanks

    1. These are errors coming from the embedded Chrome runtime. They are not blocking errors, and actually I can see them almost everywhere there’s a Chrome runtime embedded (Steam, for example).

  9. Great work, works really well and appears to be more up to date than the official Ubuntu version. How did you manage to do this exactly? On their page the official Linux version is much older.

  10. dnf install spotify-client –allowerasing
    Last metadata expiration check performed 0:35:51 ago on Fri Nov 6 11:33:53 2015.
    Ошибка: nothing provides ld-linux-x86-64.so.2()(64bit) needed by spotify-client-1.0.17.75.g8f111100-1.fc23.i686

    how to install?

  11. Hi, The 2 last updates didn’t work for me. Spotify is running but there is no sound. Is there a way to get an old version ?

    1. The package depends on RPMFusion packages. In the previous cycle (Fedora 22), I built also the package for rawhide, but that proved to be a complete nightmare; as I had to rebuild and keep updated most of the packages that were in RPMFusion. On top of this, at the moment that they finally woke up, I had to make sure there were no upgrade issues between my packages and the official RPMFusion ones. So I’m sorry, I’m not doing it unless RPMFusion is available.

  12. when I run spotify on centos 7:
    # spotify
    spotify: /lib64/libcurl.so.4: no version information available (required by spotify)

    spotify: symbol lookup error: /usr/lib64/spotify-client/libcef.so: undefined symbol: g_type_class_adjust_private_offset

  13. Hi Everybody
    I have this error when I try to run Spotify client on my fedora 22 :”Service is temporarily unvailable. Please try again later”. Someone encounts the same problem ? Thanks

  14. Are you planning on releasing rpm for version 1.0.13 soon? I’m asking because it has dbus support – something many people have been waiting for.

    1. Building it now, it will be available in a few hours. Where do you know it has dbus support? Is there a changelog published somewhere?

  15. For people who have the same problem as me => proxy preferences not saved for example… I used “strace” to understand and I see that spotify doesn’t find the `~/.config/spotify` directory.

    So, before to launch spotify the first time, you have to do it only once in a terminal:

    mkdir ~/.config/spotify/

    That’s all, Sptofy client can now connect through proxy. I’m surprised that no one has reported this bug… I will do it as soon as I can.

    Thanks for this repo !

  16. Hi,
    I have upgraded the spotify-client to the latest version (1.0.11.131.gf4d47cb0.1.fc22.x86_64).

    Every time I turn on the application , it shows an error:

    spotify-client quit unexpectedly, spotify killed by SIGABRT, /proc/self/exe --type=gpu-process --channel=3240.0.1136871389 --no-sandbox --lang=en-US --log-severity=disable --product-version=Spotify/1.0.11.131 --supports-dual-gpus=false --gpu-driver-bug-workarounds=2,28,31,44,53 --disable-accelerated-video-decode --gpu-vendor-id=0x10de --gpu-device-id=0x1381 --gpu-driver-vendor=NVIDIA --gpu-driver-version=352.30 --lang=en-US --log-severity=disable --product-version=Spotify/1.0.11.131

    I am on Fedora 22, with all patches and updates.

  17. I’ve got this problem:
    /usr/lib64/spotify-client/spotify: /usr/lib64/spotify-client/libcrypto.so.1.0.0: version `OPENSSL_1.0.0′ not found (required by /usr/lib64/spotify-client/spotify)
    /usr/lib64/spotify-client/spotify: /usr/lib64/spotify-client/libssl.so.1.0.0: version `OPENSSL_1.0.0′ not found (required by /usr/lib64/spotify-client/spotify)
    /usr/lib64/spotify-client/spotify: /usr/lib64/spotify-client/libgcrypt.so.11: version `GCRYPT_1.2′ not found (required by /usr/lib64/spotify-client/libcef.so)

    Any solution?
    Btw thanks a lot for this package, I hope it will work on my machine soon and I’ll start listening 😉

  18. Thanks for the great package.

    Just noticing that this Spotify package does not support MPRIS2 (for Media player indicator by eon in gnome-shell). Another package I found some time ago did support this, any idea where this regression may come from?

  19. Is Fedora 20 no longer supported? I see it listed under Supported Distributions, but there is no longer a fedora-20 directory in your repository.

    1. Fedora 20 is EOL since end of June, I’ve removed all folders from the repositories. Will update the pages accordingly. Thanks.

  20. I got an error:
    Failed to synchronize cache for repo ‘negativo17.org_repos_fedora-spotify.rep’ from ‘http://negativo17.org/repos/fedora-spotify.rep’: Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried, disabling.
    negativo17 – Spotify 6.7 kB/s | 3.6 kB 00:00
    Last metadata expiration check performed 0:00:00 ago on Sun Jul 5 22:17:44 2015.
    Error: nothing provides ffmpeg-libs needed by spotify-client-1.0.7.153.gb9e8174a-1.fc22.x86_64

  21. The spec file contains the wrong hostname. (It uses %{name} instead of spotify. This resolves to spotify-client…)

    The diff between the working and non-working is:
    — spotify-client.spec 2015-06-24 07:24:10.563882393 +0200
    +++ spotify-client.spec.orig 2015-06-11 09:37:23.000000000 +0200
    @@ -13,7 +13,7 @@
    URL: http://www.spotify.com/
    ExclusiveArch: x86_64

    -Source0: http://repository.spotify.com/pool/non-free/s/%{name}/%{name}_%{version}_amd64.deb
    +Source0: http://repository.%{name}.com/pool/non-free/s/%{name}/%{name}_%{version}_amd64.deb
    # Debian libraries, required by the binaries. Ugh.
    Source1: http://de.archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.0.0_1.0.1f-1ubuntu11_amd64.deb

    Could you update the spec file?

    Afterwards spectool -g spotify-client.spec downloaded the sources 🙂

  22. Hmm, on Fedora 22 all I get is:
    Warning: failed loading ‘/etc/yum.repos.d/fedora-spotify.repo’, skipping.

    Same goes for the steam repo. Am I missing something here? :I

      1. Oh yes, that was it. You think “dnf config-manager –add-repo…” would set it up with the right permissions, strange.

        Thanks!

  23. I’m having many issues with the latest 1.0.7 version on Fedora 22 (Gnome):
    – Menu bar is hidden: I can’t switch to offline mode for instance.
    – The client always runs in full screen on my 13 inch laptop, I didn’t find a way to get to normal mode.
    – As Marco reported, MPRIS interface isn’t available to manage the player from gnome-shell for instance.

    Might it be possible to put the 0.9.x rpm somewhere so we could have a usable client until these issues are fixed? (I didn’t save it and I can’t find it anywhere). Thanks!

  24. It looks like something went wrong with my last comment…

    I have just installed Fedora 22 x64 using GNOME and used your repo to install Spotify. Spotify starts as “full screen” (or at least it looks like this) and hides all system toolbars, including the Activities button and hot corner gesture. I do not see any application menus, but a tiny button that gives me preferences, account settings and such that do not show anything related to fullscreen.

    Is this a known issue or is there a way for Spotify to behave like a normal application? I must use Alt+Tab or “super” key to switch to another app when this is running which is very annoying…

    Thanks 🙂 Great work btw.

  25. Just installed Spotify on Fedora 22 64-bit and it loads “fullscreen”, no menus are shown. What it’s worth, I can’t see Gnome’s top toolbar, or use the Activities gesture, so I must change application using the super key or alt-tab.

    Is this a known issue or is there a way to get back the menus?

    Thanks

  26. Hi,
    I’m using it on Fedora 22.
    However the updated Spotify client does not integrate into the desktop anymore.
    There is no tray icon 🙁
    So each time I accidentally click the close button and it shuts down instead of going into the tray.

    Any fix for this?

Leave a Reply