Cannot build lpf-spotify client

I am trying to install Spotify using the procedure documented at Installing Spotify on Fedora :: Fedora Docs This is on a notebook PC running fully updated Fedora 33 Workstation and the Gnome DE.

I already had the Fusion Free repository, and I successfully added Fusion Non-free. Then I successfully installed package lpf-spotify-client.

When I try to run “lpf-update”, I get “command not found”. When I go to the Gnome applications and run lpf-spotify-client, it adds me to a build pkg-group and tries to start building the application. It then informs me that build failed, with no further explanation.

I do not see any instructions on prerequisites I may need, but I think something must be missing. I need advice on how to proceed. Thanks.

Ok, I misread the line command. It is “lpf update”.

When I run that, I get

This option is not available.

I just tried to replicate the installation and the update via command line and it failed for me as well. The lpf update throws out “This option is not available” and via the GUI the build fails.

This is the build log:

Downloaded: spotify-client_1.1.42.622.gbd112320-37_amd64.deb
setting SOURCE_DATE_EPOCH=1600387200
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.gbYMVK
+ umask 022
+ cd /var/lib/lpf/rpmbuild/BUILD
+ cd /var/lib/lpf/rpmbuild/BUILD
+ rm -rf spotify-make-62e266b593e4031a9a9209fbd17f287cc4cfb7a5
+ /usr/bin/gzip -dc /var/lib/lpf/rpmbuild/SOURCES/spotify-make-62e266b.tar.gz
+ /usr/bin/tar -xof -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd spotify-make-62e266b593e4031a9a9209fbd17f287cc4cfb7a5
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ RPM_EC=0
++ jobs -p
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.SkX4qK
+ umask 022
+ cd /var/lib/lpf/rpmbuild/BUILD
+ cd spotify-make-62e266b593e4031a9a9209fbd17f287cc4cfb7a5
+ ./configure --prefix=/usr --libdir=/usr/lib64 --package=/var/lib/lpf/rpmbuild/SOURCES/spotify-client_1.1.42.622.gbd112320-37_amd64.deb
Checking build and support dependencies
    ldconfig:... ldconfig (GNU libc) 2.32 (ok)
    python: Python 3.9.1 (ok)
    zenity: ...(ok)
    ar: GNU ar version 2.35-18.fc33 (ok)
    lsb_release: trying -i: Distributor ID: Fedora (ok)
    make: GNU Make 4.3 (ok)
    install: install (GNU coreutils) 8.32 (ok)
    desktop-file-validate: (ok)
    gtk-update-icon-cache: (ok)
    update-desktop-database: (ok)
Determining distro:... (no "special configuration" of distro needed)...Fedora
Determining arch:... amd64
Digging out version from --file:...1.1.42.622.gbd112320
Using supplied package:.../var/lib/lpf/rpmbuild/SOURCES/spotify-client_1.1.42.622.gbd112320-37_amd64.deb
Determine permissions for shared libs (SO_PERMS)...755
Configuration paths:
      PATH:  /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/var/lib/snapd/snap/bin
    prefix:  /usr
    bindir:  /usr/bin
    libdir:  /usr/lib64
    datadir: /usr/share
    mandir:  /usr/share/man
Writing Makefile
Writing spotify.desktop
Writing spotify.bash
+ RPM_EC=0
++ jobs -p
+ exit 0
Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.od0iFH
+ umask 022
+ cd /var/lib/lpf/rpmbuild/BUILD
+ '[' /var/lib/lpf/rpmbuild/BUILDROOT/spotify-client-1.1.42.622-1.fc33.x86_64 '!=' / ']'
+ rm -rf /var/lib/lpf/rpmbuild/BUILDROOT/spotify-client-1.1.42.622-1.fc33.x86_64
++ dirname /var/lib/lpf/rpmbuild/BUILDROOT/spotify-client-1.1.42.622-1.fc33.x86_64
+ mkdir -p /var/lib/lpf/rpmbuild/BUILDROOT
+ mkdir /var/lib/lpf/rpmbuild/BUILDROOT/spotify-client-1.1.42.622-1.fc33.x86_64
+ cd spotify-make-62e266b593e4031a9a9209fbd17f287cc4cfb7a5
+ /usr/bin/make install DESTDIR=/var/lib/lpf/rpmbuild/BUILDROOT/spotify-client-1.1.42.622-1.fc33.x86_64 'INSTALL=/usr/bin/install -p'
ar x /var/lib/lpf/rpmbuild/SOURCES/spotify-client_1.1.42.622.gbd112320-37_amd64.deb
ar: /var/lib/lpf/rpmbuild/SOURCES/spotify-client_1.1.42.622.gbd112320-37_amd64.deb is not a valid archive
make: *** [Makefile:79: unpack] Error 1
error: Bad exit status from /var/tmp/rpm-tmp.od0iFH (%install)


RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.od0iFH (%install)

It seems to be failing because the installation is trying to untar a .deb file.

Is the flatpak installation not an option for you?

1 Like

Thank you, but I prefer not to use Flatpak. Nor Snap, nor AppImage.

But, please tell me how you found the build log.

I just canceled the build (because for some reason the build window doesn’t disappear once it throws the error) and in the lpf gui I click on More... that appears next to spotify-client, next click on the View... button at “Last log”.

8ec22873557dd3f8d5890d187197196ff2e7ab87.png

1843de2cd40eef3100b8a7a62a9b3cc8bb696480.png

EDIT: I’m not really sure if the error message has to do with the tar command, I just saw “ar” and assumed that somehow the t was missing in the log file. I might check that later.

1 Like

Thank you.

So, someone has provided us a package and documentation that do not work. :rage:

It’s not tar, my bad, it’s actually ar, a command that extracts from archives just like tar. It fails when extracting the data as it does not sees .deb as a valid archive. Tried the command again myself manually with the package downloaded to /var/lib/lpf/rpmbuild/SOURCES.

[sameyepatch@personal-pc ~]$ ar x /var/lib/lpf/rpmbuild/SOURCES/spotify-client_1.1.42.622.gbd112320-37_amd64.deb 
ar: /var/lib/lpf/rpmbuild/SOURCES/spotify-client_1.1.42.622.gbd112320-37_amd64.deb is not a valid archive
1 Like

It probably used to work so they included it in the docs but haven’t bothered if it’s still a valid installation method.

This typically means that the Makefile is incorrect or outdated.
The best option is to file a ticket to their bug tracker.
You can also try to debug the process step-by-step and complete it manually.
Start from checking the type of the file and using the proper command to unpack it.

1 Like

Yes, that’s what I’m doing currently, I’ll post the bug URL once I’m done.

EDIT: Here is the bug filed in RPM Fusion’s bugtracker

3 Likes

The RPM Fusion package relies on another project:
lpf-spotify-client.spec - nonfree/lpf-spotify-client.git - lpf-spotify-client

So, the root cause of the issue appears to be here:
spotify-make/Makefile.in at devel · sergiomb2/spotify-make · GitHub

It looks like they disabled the built-in issue tracker:
GitHub - sergiomb2/spotify-make: Experimental, third-party installer for native linux spotify client

4 Likes

Yes, that’s why I used the RPM Fusion one. I made sure at least one related bug was filed so I could get away with reporting the problem there.

Also, looking up how to extract .deb files, it seems that ar is the correct command to do it. Maybe the downloaded package was corrupt? @blueshurricane4 could you share your build log so I can make sure it throws the same error to you?

1 Like

Well, shit, I am an idiot. I just did a manual download and ar extraction of the package from the spotify repo and it worked. Also, giving a good look at the build log, it actually shows the download progress and it looks like it doesn’t finish downloading the package itself, that’s why the ar fails. Just to be sure I compared it with my manually downloaded file and the packages had different sizes.

I have tried executing the build process several times and it fails to download time and time again. That’s why it fails for me.

@blueshurricane4 do you have your build log? Or could you try again and share the build log? Just confirmed on my end it was due a failing download. Want to make sure it’s the same thing for you.

On that note, I wonder if it’s possible to tell LPF to use a local package instead of it downloading one.

EDIT: Also, the correct usage of lpf update according to its help documentation is lpf update [package] so the documentation must read lpf update spotify-client. Either way, the build fails because of the effing download fail.

2 Likes

When I get back to my Fedora host, I will post the log.

Also, it appears that there is a Fedora 33 package for alien, which should be able to convert the .deb to a .rpm. I’ll probably try that.

1 Like

Here is the failure part of my log:

  • /usr/bin/make install DESTDIR=/var/lib/lpf/rpmbuild/BUILDROOT/spotify-client-1.1.42.622-1.fc33.x86_64 ‘INSTALL=/usr/bin/install -p’
    ar x /var/lib/lpf/rpmbuild/SOURCES/spotify-client_1.1.42.622.gbd112320-37_amd64.deb
    ar: /var/lib/lpf/rpmbuild/SOURCES/spotify-client_1.1.42.622.gbd112320-37_amd64.deb is not a valid archive
    make: *** [Makefile:79: unpack] Error 1
    error: Bad exit status from /var/tmp/rpm-tmp.kGLXJn (%install)

RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.kGLXJn (%install)

1 Like

It seems to be the same download issue, since the ar command is failing to extract a .deb file. Just to be sure, can you make sure your build log download progress doesn’t jump from 1% (or any percent that is not 99%) to 100% completed download?

This is mine

81% of 120.4 MiB |#################     | Elapsed Time: 0:01:20 ETA:   0:00:18
100% of 120.4 MiB |######################| Elapsed Time: 0:01:20 Time:  0:01:20

By the way, this was a recent try. Earlier tries stopped downloading at 1% or 2%.

What a weird issue.

EDIT: Tried again, it went back to not even trying the download

1% of 120.4 MiB |                      | Elapsed Time: 0:00:04 ETA:   0:02:46
100% of 120.4 MiB |######################| Elapsed Time: 0:00:04

It seems that the reason it lasted up to %81 in the previous was because I reinstalled lpf-spotify-client

1 Like

When I try to download the .deb from Index of /pool/non-free/s/spotify-client/ it always fails, too.

1 Like

I see. I didn’t notice a normal download fails as well since I used uget to download it. Just saw it took 25 retries to download the whole thing.

EDIT: It looks like it’s a random thing to happen, just disabled the browser extension that automatically handles downloads and the browser did download it whole.

1 Like

I tried the download again at 6:50 AM to see if server load was the problem. It downloaded a little more than 100 MB, but it failed before completion, again. A retry then failed, immediately.

Does anyone know of another source on the web for this file?

I got it!

wget can fail and resume from the point it left off. After several failures and restarts, it finally gets the entire download.

wget http://repository-origin.spotify.com/pool/non-free/s/spotify-client/spotify-client_1.1.42.622.gbd112320-37_amd64.deb

Now, to convert it with alien and try to install the rpm…

1 Like