Spotify client

spotify-client

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

Supported distributions:

  • Fedora – x86_64
  • RHEL/CentOS – x86_64

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

Table of Contents

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/Snap and moves all files in the appropriate places. As such, the spotify binary has a RUNPATH of its origin folder. Depending on the distribution, it requires Ubuntu compatible libraries compiled with minimum options (no external dependencies) for local file playback and conversion. 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        27 Mar  5 18:33 libavcodec-ffmpeg.so.56 -> /usr/lib64/libavcodec.so.56
lrwxrwxrwx. 1 root root        23 Oct  5  2017 libavcodec.so.53 -> libavcodec.so.53.61.100
-rwxr-xr-x. 1 root root   6990472 Oct  5  2017 libavcodec.so.53.61.100
lrwxrwxrwx. 1 root root        28 Mar  5 18:34 libavformat-ffmpeg.so.56 -> /usr/lib64/libavformat.so.56
lrwxrwxrwx. 1 root root        24 Oct  5  2017 libavformat.so.53 -> libavformat.so.53.32.100
-rwxr-xr-x. 1 root root   1194888 Oct  5  2017 libavformat.so.53.32.100
lrwxrwxrwx. 1 root root        22 Oct  5  2017 libavutil.so.51 -> libavutil.so.51.35.100
-rwxr-xr-x. 1 root root    136328 Oct  5  2017 libavutil.so.51.35.100
-rwxr-xr-x. 1 root root 127184368 Mar 23 19:16 libcef.so
lrwxrwxrwx. 1 root root        23 Apr 23 16:23 libcurl-gnutls.so.4 -> libcurl-gnutls.so.4.5.0
-rwxr-xr-x. 1 root root    591288 Apr 23 16:23 libcurl-gnutls.so.4.5.0
-rwxr-xr-x. 1 root root    372560 Mar 23 19:16 libEGL.so
-rwxr-xr-x. 1 root root   5046304 Mar 23 19:16 libGLESv2.so
lrwxrwxrwx. 1 root root        23 Oct  5  2017 libpostproc.so.52 -> libpostproc.so.52.0.100
-rwxr-xr-x. 1 root root    114104 Oct  5  2017 libpostproc.so.52.0.100
lrwxrwxrwx. 1 root root        24 Oct  5  2017 libswresample.so.0 -> libswresample.so.0.6.100
-rwxr-xr-x. 1 root root     40432 Oct  5  2017 libswresample.so.0.6.100
-rwxr-xr-x. 1 root root    444472 Apr 23 16:25 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:

dnf 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

If your system already has an ffmpeg package, that would be used instead of the compatibility package spotify-ffmpeg. FFmpeg libraries are required for playback of local files.

Bugs

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

396 thoughts to “Spotify client”

  1. After the last update (v. 1.0.7.153.gb9e8174a) it doesn’t work anymore with Gnome-Shell media player indicator extension… Can you confirm it?

  2. Hi, I’ve just updated to version 1.0.7 of the Spotify Client. This new version is a complete disaster! No integration into the desktop environment(media keys etc.), no minimizing to tray, missing icon… Could you please provide somehow the old version(0.9.) in the repository? Maybe named spotify-client-legacy? I don’t want to use this new piece of sh**. Thanks, Marius

    1. I can’t agree more. Moreover, the menu is hidden, so I can’t switch to offline mode. And full screen is forced if your monitor is not wide enough.

      Thanks for putting the old version back somewhere.

        1. Thank you very much! I totally understand that this is meant to be temporary and I hope the issues will be fixed on 1.0 soon.

    1. Thanks, I will add it. The dbus-x11 package is required by almost all desktop environments, just by curiosity what are you running as your main desktop?

  3. Thanks for this article! By the way, when will you drop the 32-bit version of the package? I am trying to install it to my Fedora 22 32-bit (MATE compiz), still could not finish it.
    ——–
    [fareed@localhost ~]$ sudo dnf install spotify-client
    Failed to synchronize cache for repo ‘fedora-spotify’ from ‘http://negativo17.org/repos/spotify/fedora-22/i386/’: Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried, disabling.
    Last metadata expiration check performed 1:34:01 ago on Tue Jun 2 15:28:30 2015.
    No package spotify-client available.
    Error: no package matched: spotify-client
    ——–
    Please help..

  4. Just a quick typo fix : on fedora 22 your wrote :
    dnf-config-manager –add-repo=http://negativo17.org/repos/fedora-spotify.repo

    it’s
    dnf config-manager –add-repo=http://negativo17.org/repos/fedora-spotify.repo (notice the first dash is removed, config-manager is an argument of dnf, not a standalone app)

    Thank you so much for sharing your work !

  5. Hi,
    Error in fedora 22:

    [root@fedorka body] # yum-config-manager –add-repo=http://negativo17.org/repos/fedora-spotify.repo

    Yum-utils package has been deprecated, use dnf instead.
    See ‘man yum2dnf’ for more information.

    adding repo from: http://negativo17.org/repos/fedora-spotify.repo
    YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
    Eg. http://dummy
    Traceback (most recent call last):
    File “/bin/yum-config-manager”, line 222, in
    grabber = repo.grabfunc; del repo
    File “/usr/lib/python2.7/site-packages/yum/yumRepo.py”, line 697, in
    grabfunc = property(lambda self: self._getgrabfunc())
    File “/usr/lib/python2.7/site-packages/yum/yumRepo.py”, line 687, in _getgrabfunc
    self._setupGrab()
    File “/usr/lib/python2.7/site-packages/yum/yumRepo.py”, line 631, in _setupGrab
    urls = self.urls
    File “/usr/lib/python2.7/site-packages/yum/yumRepo.py”, line 875, in
    urls = property(fget=lambda self: self._geturls(),
    File “/usr/lib/python2.7/site-packages/yum/yumRepo.py”, line 872, in _geturls
    self._baseurlSetup()
    File “/usr/lib/python2.7/site-packages/yum/yumRepo.py”, line 838, in _baseurlSetup
    self.check()
    File “/usr/lib/python2.7/site-packages/yum/yumRepo.py”, line 558, in check
    self.ui_id, repo=self)
    yum.Errors.RepoError: Cannot find a valid baseurl for repo: dummy


    any idea? :/

  6. Not working on Fedora 22 Beta 3 as of 5/18/15. Works great on fedora 21. Any plans to get this going by the time Fedora 22 comes out?

    1. There is no such a “plan”. The binary is compiled for Ubuntu, using Ubuntu libraries and paths. I repackage it anytime a new version is available adding links and Ubuntu libraries where appropriate.

      As written before, my suggestion is to use the web page and not the fat client. The client might work or not work entirely in the future.

  7. On Fedora 22, when using DNF rather than Yum (default installation):

    sudo dnf config-manager --add-repo=http://negativo17.org/repos/fedora-spotify.repo
    sudo dnf install spotify-client -y

  8. Hi, I have been happily using this for some time now. Recently (few days ago) sound output stopped working, everything seemingly works but there is no sound. I see spotify in ‘sound config’ application list so it at least connects to pulseaudio.

    Has anyone else ran into same problem?

    I am using Fedora 21 x86_64, everything up to date.

    1. OK, found my problem. For some odd reason pulseaudio insisted on using the HDMI sink for spotify even though I normally don’t have any audio capable HDMI devices connected.

      Forcing the PULSE_SINK worked out.

    1. Not really. Fedora 22 is the last release I’ve been tracking from Rawhide, and it has been a real pain considering that RPMFusion is still MIA for it. After the new Fedora release I will be tracking only released distributions or close-to-be-released ones.

  9. Either I’m blind or I can’t find a way to buy you a beer (or coffee) on this site. I use several of your repositories at home and at work, so I’d like to send a little thank you in a monetary form your way. Is that possible?

    1. Hello, thanks for your support. I’ve added Paypal and Bitcoin donation buttons in the main page, at the bottom of the left frame!

  10. Thanks so much for this, I use spotify alot at work and this was one of the main things that was keeping me from moving over to Fedora

  11. I know it exists, but it seems to drift as unmaintained. The package doesn’t work. Seeing that you have done the fixes in your rpm made me wish you could advise on fixing (if not taking over maintenance of) the package 🙂

    1. Well, actually I was in touch with the maintainer when he created the package, and he preferred his own approach (much more complicated) for it instead of mine.

    1. The updated gtk2 version fixes the problem and was released.
      sudo yum update
      … and spotify works fine again. Nice.

  12. Hi, I’m having some issues, I don’t know what’s happening, but, when the music’s time is around 40 seconds, Spotify just closes by himself.

  13. sudo yum downgrade gtk2-immodule-xim gtk2

    Just did it, and it seems to work. It used to segfault when I clicked file-> logout and now it’s not doing it.

  14. @Dave I felt it had to do something with the updates too.

    @Slaanesh I see.

    Thanks however for the explanations and the good work done 🙂

    1. @Mark – load up your terminal and type ‘spotify’ without the quotes.

      Start playing your music or whatever causes it to stop, and copy and paste the last few lines of the output from the terminal. I’m curious if your’s is a segmentation fault too.

      1. I have talked on #spotify IRC channel about this cause it crashing for me as well, and I found another person who got this problem. Some guy who claim to work at Spotify told, he’ll try to forward our problem to devs, but no response about it yet.

        just in case:
        It segfaults for me in about 40-50 seconds after starting song. Funny thing: doesn’t crash when I started Spotify with interrupted song (play position is not in 0:00). After that song finishes, it crash after 40-50 seconds when starting playing another track I select.

        It even segfaults when I click File → Exit.

  15. Hi! Added the repo and installed the package few days ago. I’m on Fedora 21, and Spotify used to work just fine until yesterday, when it began to crash after a little while. the output is “segmentation fault (core dump created)” . Is this happened to some of you too? I hope for suggestions to fix the issue, I’m a recent Fedora user and I don’t have that much experience..

    1. The same is happening to me. It’s a segmentation fault which means that the client which is essentially the client is looking for non-existing memory allocation. That’s why it’s crashing.

      If it was working fine before (as mine was) and it suddenly started doing it, then it’s likely a Fedora update that has changed something in the C libraries.

      There’s not much we can do. 🙁

  16. I hava Spotify client running under Fedora 21. I would be fine if sometimes Spotity crashes. It is not stable, but I don’t know under what conditions this happens. Any suggestion?

    Thank you

    1. [To correct some typos…]
      I have Spotify client running under Fedora 21. It would be fine if sometimes Spotity wouldn’t crash. It is not stable, but I don’t know under what conditions this happens. Any suggestion?

  17. Si tu vieja te dijo alguna vez que sos groso, no te mentió, gracias por el repo.
    Btw, quizás te interese hostearlo en Copr?
    Saludos.

    1. Please write in english. If it’s here, it’s because it can not be imported in Fedora or RPMFusion. Spotify client in particular, is a repack of the binary blobs for Ubuntu.

    1. Some libraries are too old for it, I’m sorry but it wouldn’t work unless you pack all the new libraries in the package.

  18. Found a bug when using apps in spotify. Like when using musiXmatch and selecting a song in a playlist the whole thing flickers when not a song link is selected.

    1. Unfortunately the Spotify client is a binary compiled for a different distribution over which I have no control at all. This is just repackaging of it.

        1. Yeah, I am seeing core dumps quite frequently…

          I tire of this struggle… Back to the web player.

  19. Hi,

    I just add the fedora repo and tryed to install spotify, but i got the following error :


    ▸ sudo yum install spotify
    Modules complémentaires chargés : langpacks
    http://negativo17.org/repos/spotify/fedora-20/i386/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found
    Essai d'un autre miroir.
    Aucun paquet spotify disponible.
    Erreur : Rien à faire

    And some info:

    ▸ uname -a
    Linux pfa-fedora 3.17.6-200.fc20.i686 #1 SMP Mon Dec 8 15:42:32 UTC 2014 i686 i686 i386 GNU/Linux

    Is their a way to build from source?

    Thank’s for you help.

    1. Hello, thanks!

      Yes I thought about it, but the binary files cannot be redistributed (hence they cannot be included in RPMFusion) and there’s already the lpf-spotify-client package that builds the final package on your system. Unfortunately, I have a different view on how this should be packaged.

  20. I can’t play local mp3 files.
    I installed ffmpeg package, and ldd `which spotify` sees correctly libavcodec.so. But trying to play any file causes hiding playback position and waiting for “nothing”.

  21. Broken on F21.

    spotofy: error while loading shared libraries: libgcrypt.so.11: cannot open shared object file: No such file or directory

    1. Will fix it when getting back access to my laptop; since the client is never updated, on Fedora 21 this needs another library bundled inside. The fat Spotify client is a piece of junk.

  22. Has anyone got this working on latest Fedora 21 TC1? I was able to install it,but nothing happens when I click the spotify icon.

    1. I’m uploading a new build that for Fedora 21+ provides the old libgcrypto 1.5.4 libraries and does not require them. Give an hour for the upload.

      The client is a piece of junk, I suggest to use the web page or Chrome app for using Spotify on Linux.

      1. After today’s update I’m getting:

        spotify: error while loading shared libraries: libssl.so.1.0.0: wrong ELF class: ELFCLASS32

        Tried to link to system libraries instead, but then I get :

        /usr/lib64/spotify-client/Data/libssl.so.1.0.0: version `OPENSSL_1.0.0' not found (required by spotify)

        I’d gladly use a webapp instead, but I can’t control it from my keyboard 🙁

  23. I am on Fedora 21 and i bumped into following error:


    [modology@localhost ~]$ sudo yum --nogpg install spotify-client
    Loaded plugins: langpacks
    Resolving Dependencies
    --> Running transaction check
    ---> Package spotify-client.x86_64 0:0.9.10.17.g4129e1c.78-2.fc21 will be installed
    --> Processing Dependency: spotify-client-data = 0.9.10.17.g4129e1c.78-2.fc21 for package: spotify-client-0.9.10.17.g4129e1c.78-2.fc21.x86_64
    --> Processing Dependency: libgcrypt.so.11(GCRYPT_1.2)(64bit) for package: spotify-client-0.9.10.17.g4129e1c.78-2.fc21.x86_64
    --> Processing Dependency: libgcrypt.so.11()(64bit) for package: spotify-client-0.9.10.17.g4129e1c.78-2.fc21.x86_64
    --> Processing Dependency: libXss.so.1()(64bit) for package: spotify-client-0.9.10.17.g4129e1c.78-2.fc21.x86_64
    --> Processing Dependency: libQtXml.so.4()(64bit) for package: spotify-client-0.9.10.17.g4129e1c.78-2.fc21.x86_64
    --> Processing Dependency: libQtNetwork.so.4()(64bit) for package: spotify-client-0.9.10.17.g4129e1c.78-2.fc21.x86_64
    --> Processing Dependency: libQtGui.so.4()(64bit) for package: spotify-client-0.9.10.17.g4129e1c.78-2.fc21.x86_64
    --> Processing Dependency: libQtDBus.so.4()(64bit) for package: spotify-client-0.9.10.17.g4129e1c.78-2.fc21.x86_64
    --> Processing Dependency: libQtCore.so.4()(64bit) for package: spotify-client-0.9.10.17.g4129e1c.78-2.fc21.x86_64
    --> Running transaction check
    ---> Package libXScrnSaver.x86_64 0:1.2.2-7.fc21 will be installed
    ---> Package qt.x86_64 1:4.8.6-10.fc21 will be installed
    --> Processing Dependency: qt-settings for package: 1:qt-4.8.6-10.fc21.x86_64
    ---> Package qt-x11.x86_64 1:4.8.6-10.fc21 will be installed
    --> Processing Dependency: libmng.so.2()(64bit) for package: 1:qt-x11-4.8.6-10.fc21.x86_64
    ---> Package spotify-client.x86_64 0:0.9.10.17.g4129e1c.78-2.fc21 will be installed
    --> Processing Dependency: libgcrypt.so.11(GCRYPT_1.2)(64bit) for package: spotify-client-0.9.10.17.g4129e1c.78-2.fc21.x86_64
    --> Processing Dependency: libgcrypt.so.11()(64bit) for package: spotify-client-0.9.10.17.g4129e1c.78-2.fc21.x86_64
    ---> Package spotify-client-data.noarch 0:0.9.10.17.g4129e1c.78-2.fc21 will be installed
    --> Running transaction check
    ---> Package libmng.x86_64 0:2.0.2-2.fc21 will be installed
    ---> Package qt-settings.noarch 0:20-17.fc21 will be installed
    ---> Package spotify-client.x86_64 0:0.9.10.17.g4129e1c.78-2.fc21 will be installed
    --> Processing Dependency: libgcrypt.so.11(GCRYPT_1.2)(64bit) for package: spotify-client-0.9.10.17.g4129e1c.78-2.fc21.x86_64
    --> Processing Dependency: libgcrypt.so.11()(64bit) for package: spotify-client-0.9.10.17.g4129e1c.78-2.fc21.x86_64
    --> Finished Dependency Resolution
    Error: Package: spotify-client-0.9.10.17.g4129e1c.78-2.fc21.x86_64 (fedora-spotify)
    Requires: libgcrypt.so.11()(64bit)
    Error: Package: spotify-client-0.9.10.17.g4129e1c.78-2.fc21.x86_64 (fedora-spotify)
    Requires: libgcrypt.so.11(GCRYPT_1.2)(64bit)
    You could try using --skip-broken to work around the problem
    You could try running: rpm -Va --nofiles --nodigest

    And I checked my libgrcrypt

    [modology@localhost ~]$ dnf info libgcrypt
    Installed Packages
    Name : libgcrypt
    Arch : x86_64
    Epoch : 0
    Version : 1.6.1
    Release : 6.fc21
    Size : 968 k
    Repo : @System
    Summary : A general-purpose cryptography library
    URL : http://www.gnupg.org/
    License : LGPLv2+
    Description : Libgcrypt is a general purpose crypto library based on the code used
    : in GNU Privacy Guard. This is a development version.

    Available Packages
    Name : libgcrypt
    Arch : i686
    Epoch : 0
    Version : 1.6.1
    Release : 6.fc21
    Size : 332 k
    Repo : fedora
    Summary : A general-purpose cryptography library
    URL : http://www.gnupg.org/
    License : LGPLv2+
    Description : Libgcrypt is a general purpose crypto library based on the code used
    : in GNU Privacy Guard. This is a development version.

    I’m wondering is there any trick to get it working. Thanks

Leave a Reply