clementine-player / Clementine

:tangerine: Clementine Music Player
https://www.clementine-player.org/
GNU General Public License v3.0
3.79k stars 683 forks source link

Spotify plugin still requires QtCore 4 to be installed #6106

Open origintopleft opened 6 years ago

origintopleft commented 6 years ago

Before posting

Please follow the steps below and check the boxes with [x] once you did the step.

System information

Please provide information about your system and the version of Clementine used.

Expected behaviour / actual behaviour

I removed Qt4 from my system this week because Gentoo's dropping support for it entirely and nothing seemed to actually be using it anymore anyway. Then Spotify support broke.

/home/lavacano/.config/Clementine/spotifyblob/version16-64bit/blob: error while loading shared libraries: libQtCore.so.4: cannot open shared object file: No such file or directory

Steps to reproduce the problem (only for bugs)

  1. Uninstall Qt4.
origintopleft commented 6 years ago

(on reread, "apparently" sounded overly snarky, my bad)

origintopleft commented 6 years ago

Uninstalling the version managed by Gentoo's Portage and building my own from git (qt5 branch, cmake -DHAVE_SPOTIFY_BLOB=1 ..) appears to fix it (but man, it's difficult finding a libspotify download nowadays). Qt4 remains uninstalled.

ghost commented 5 years ago

Nice @lavacano201014, how did you bypass:

-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.2") CMake Error at /usr/share/cmake/Modules/FindQt4.cmake:1324 (message): Found unsuitable Qt version "5.12.4" from /usr/bin/qmake, this code requires Qt 4.x

When compiling from source to get it working properly on your Gentoo setup? I really want my clementine to support spotify on my gentoo setup, using clementine in wine atm and that sucks!

ghost commented 5 years ago

This is what I have tried:

 cd /usr/portage/media-sound/clementine
 sed -i '133 i -DHAVE_SPOTIFY_BLOB=1' clementine-9999.ebuild
 sed -i 's/-DENABLE_SPOTIFY_BLOB=OFF/-DENABLE_SPOTIFY_BLOB=ON/g' clementine-9999.ebuild
 ebuild /usr/portage/media-sound/clementine/clementine-9999.ebuild clean manifest merge

This failed cause:

  CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
  Please set them or make sure they are set and tested correctly in the CMake files: PROTOBUF_STATIC_LIBRARY
  linked by target "clementine-spotifyblob" in directory /tmp/portage/media-sound/clementine-   9999/work/clementine-9999/ext/clementine-spotifyblob

Then I did

   git clone https://github.com/clementine-player/Clementine
   cp -r Clementine/ext/clementine-spotifyblob/ /tmp/portage/media-sound/clementine-9999/work/clementine-9999/ext/
   ebuild /usr/portage/media-sound/clementine/clementine-9999.ebuild merge

Then it failed cause:

-- Checking for module 'libspotify>=12.1.45' -- No package 'libspotify' found

Then I did:

eselect repository list|grep palmer
eselect repository set 274
eix-sync; eix-update
emerge =dev-libs/libspotify-12.1.51
ebuild /usr/portage/media-sound/clementine/clementine-9999.ebuild merge

And now I am stuck and curios how I can continue from here:

-- Checking for module 'libspotify>=12.1.45'
--   Found libspotify, version 12.1.51
-- Using system taglib library
CMake Error at ext/clementine-spotifyblob/CMakeLists.txt:31 (qt4_wrap_cpp):
 Unknown CMake command "qt4_wrap_cpp".

EDIT:

Finally could merge the ebuild, but now I am stuck again with:

~/Clementine/spotifyblob/version16-64bit/blob: error while loading shared libraries: libQtCore.so.4: cannot open shared object file: No such file or directory

When I am trying to log in on spotify.

gbrauen commented 4 years ago

This is an old issue but I just upgraded to Ubuntu 20.04 which has removed libQTCore.so.4 from repository. There is a PPA that lets you install it.

How-to: install libQTCore.so.4 on Ubuntu 20.04

gyu-don commented 3 years ago

The latest repository seems not dependent on Qt4, however, when downloading the Spotify plugin from "Configure", the blob still requires Qt4.

I tried build from source and copy the Spotify plugin to $HOME/.config/Clementine/spotifyblob/version16-64bit/blob. It worked well. However, it's not an easy way. I'm grad if downloading from Configure works well.

Trojan295 commented 3 years ago

I can confirm that building the spotifyblob from source using libspotify from https://github.com/mopidy/libspotify-archive works on Ubuntu 21.04. Just download the libspotify from this repo and make install should install it. Then compile and install Clementine and it works fine.