Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 461616 - media-sound/spotify - /opt/spotify/spotify-client/spotify: error while loading shared libraries: libplc4.so.9: cannot open shared object file: No such file or directory
Summary: media-sound/spotify - /opt/spotify/spotify-client/spotify: error while loadi...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Matthew Thode ( prometheanfire )
URL:
Whiteboard:
Keywords:
: 461794 (view as bug list)
Depends on:
Blocks:
 
Reported: 2013-03-13 10:47 UTC by Florian Klink
Modified: 2013-03-17 16:11 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
spotify-bug461616.patch (spotify-bug461616.patch,1.09 KB, patch)
2013-03-17 16:11 UTC, David Leverton
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Florian Klink 2013-03-13 10:47:08 UTC
After recent world update, spotify client doesn't start anymore.

It gives this error message:
/opt/spotify/spotify-client/spotify: error while loading shared libraries: libplc4.so.9: cannot open shared object file: No such file or directory
ldd /opt/spotify/spotify-client/spotify also says that libnspr4.so.9 is missing, too.

Reproducible: Always
Comment 1 Matthew Thode ( prometheanfire ) archtester Gentoo Infrastructure gentoo-dev Security 2013-03-13 16:52:10 UTC
Do you have dev-libs/nspr installed?  I have it as a dep >=dev-libs/nspr-4.9

Should be in either of these places.

/usr/lib32/libplc4.so.9
/usr/lib64/libplc4.so.9
Comment 2 Frank Ridderbusch 2013-03-13 20:55:46 UTC
Same issue here!

Apparently the packaging (or better the compilation of the package) changed
between -r1 and -r2.

# tar tvjf nspr-4.9.5-r2.tbz2 ./usr/lib64
drwxr-xr-x root/root         0 2013-03-12 17:46 ./usr/lib64/
-rwxr-xr-x root/root     14424 2013-03-12 17:46 ./usr/lib64/libplds4.so
-rwxr-xr-x root/root     18584 2013-03-12 17:46 ./usr/lib64/libplc4.so
-rwxr-xr-x root/root    248800 2013-03-12 17:46 ./usr/lib64/libnspr4.so
drwxr-xr-x root/root         0 2013-03-12 17:46 ./usr/lib64/pkgconfig/
-rw-r--r-- root/root       231 2013-03-12 17:46 ./usr/lib64/pkgconfig/nspr.pc

# tar tvjf nspr-4.9.5-r1.tbz2 ./usr/lib64
drwxr-xr-x root/root         0 2013-03-12 08:31 ./usr/lib64/
drwxr-xr-x root/root         0 2013-03-12 08:31 ./usr/lib64/pkgconfig/
-rw-r--r-- root/root       231 2013-03-12 08:31 ./usr/lib64/pkgconfig/nspr.pc
-rwxr-xr-x root/root    248736 2013-03-12 08:31 ./usr/lib64/libnspr4.so.9
lrwxrwxrwx root/root         0 2013-03-12 08:31 ./usr/lib64/libnspr4.so -> libnspr4.so.9
-rwxr-xr-x root/root     18592 2013-03-12 08:31 ./usr/lib64/libplc4.so.9
lrwxrwxrwx root/root         0 2013-03-12 08:31 ./usr/lib64/libplc4.so -> libplc4.so.9
-rwxr-xr-x root/root     14432 2013-03-12 08:31 ./usr/lib64/libplds4.so.9
lrwxrwxrwx root/root         0 2013-03-12 08:31 ./usr/lib64/libplds4.so -> libplds4.so.9

Going back to nspr-4.9.5-r1 makes spotify working again. Simply creating
appropriately named links is not enough. The shared libs (*.so.*) are created
differently between the versions.
Comment 3 Matthew Thode ( prometheanfire ) archtester Gentoo Infrastructure gentoo-dev Security 2013-03-14 02:14:34 UTC
what we did is remove the old symlinks to follow upstream more closely.

workaround fix til upstream (spotify) fixes their linking

21:58 <  prometheanfire > so, why does spotify look for the .9
21:58 <  prometheanfire > when it should be looking for the .so
21:58 <  prometheanfire > which is symlinked to the .9
21:58 <  prometheanfire > /usr/lib64/libplc4.so.9
21:58 <  prometheanfire > and /usr/lib/libnspr4.so.9
22:03 <  prometheanfire > 22:02 <         Anarchy+> it wasnt for backwards compatibility, we did it on a distro level for many years, but have reverted to using upstreams default soname and install now.
22:03 <  prometheanfire > ok, so we are following upstream
22:03 <  prometheanfire > why aren't you :P
Comment 4 Matthew Thode ( prometheanfire ) archtester Gentoo Infrastructure gentoo-dev Security 2013-03-14 06:03:31 UTC
fixed in =media-sound/spotify-0.8.8.323-r2

	#hack to fix the nspr linking in spotify
	dosym /usr/lib/libnspr4.so /opt/spotify/spotify-client/libnspr4.so.9
	dosym /usr/lib/libplc4.so /opt/spotify/spotify-client/libplc4.so.9
	sed -i \
		's/libcef\.so/libcef\.so\ \/opt\/spotify\/spotify\-client\/libnspr4\.so\.9\ \/opt\/spotify\/spotify\-client\/libplc4\.so\.9/g' \
		${ED}/usr/bin/spotify
Comment 5 Jeroen Roovers (RETIRED) gentoo-dev 2013-03-15 15:43:27 UTC
*** Bug 461794 has been marked as a duplicate of this bug. ***
Comment 6 David Leverton 2013-03-17 16:11:01 UTC
Created attachment 342398 [details, diff]
spotify-bug461616.patch

(In reply to comment #4)
> fixed in =media-sound/spotify-0.8.8.323-r2
> 
> 	#hack to fix the nspr linking in spotify
> 	dosym /usr/lib/libnspr4.so /opt/spotify/spotify-client/libnspr4.so.9
> 	dosym /usr/lib/libplc4.so /opt/spotify/spotify-client/libplc4.so.9
> 	sed -i \
> 		's/libcef\.so/libcef\.so\
> \/opt\/spotify\/spotify\-client\/libnspr4\.so\.9\
> \/opt\/spotify\/spotify\-client\/libplc4\.so\.9/g' \
> 		${ED}/usr/bin/spotify

That's not a terribly clean fix (and not entirely amd64-friendly as it assumes /usr/lib).  The ebuild already has a hack to work around Gentoo's NSPR (and NSS) libs having different names from the system (Ubuntu?) that Spotify is built on, so this can be fixed by adjusting that, as in the attached.