Skip to content
This repository has been archived by the owner on Jun 26, 2023. It is now read-only.

Cannot open shared object file #27

Open
bdouble opened this issue Oct 27, 2014 · 7 comments
Open

Cannot open shared object file #27

bdouble opened this issue Oct 27, 2014 · 7 comments
Labels

Comments

@bdouble
Copy link

bdouble commented Oct 27, 2014

Hi there - I am having the exact same behavior as issue #12 - I get the following any time I try to start spopd:

spopd: error while loading shared libraries: libspotify.so.12: cannot open shared object file: No such file or directory

I tried all of the stuff you recommended in the previous thread. I used the method you recommended on 7/29/13, building with the -DCMAKE_INSTALL_RPATH=/usr/local/lib setup.

Here's some system output for you:

root@volumio:# spopd
spopd: error while loading shared libraries: libspotify.so.12: cannot open shared object file: No such file or directory
root@volumio:
# pkg-config --print-provides libspotify
libspotify = 12.1.51
root@volumio:~# whereis libspotify
libspotify: /usr/local/lib/libspotify.so

root@volumio:~# ls -al /usr/local/lib
total 3068
drwxrwsr-x 5 root staff 4096 Oct 27 02:06 .
drwxrwsr-x 10 root staff 4096 Aug 10 2013 ..
-rwxr-xr-x 1 root staff 1015 Oct 27 01:58 libjson-glib-1.0.la
lrwxrwxrwx 1 root staff 28 Oct 27 01:58 libjson-glib-1.0.so -> libjson-glib-1.0.so.0.1600.2
lrwxrwxrwx 1 root staff 28 Oct 27 01:58 libjson-glib-1.0.so.0 -> libjson-glib-1.0.so.0.1600.2
-rwxr-xr-x 1 root staff 472456 Oct 27 01:58 libjson-glib-1.0.so.0.1600.2
-rw-r--r-- 1 root staff 10604 Oct 27 02:05 libspop_audio_ao.so
-rw-r--r-- 1 root staff 9212 Oct 27 02:05 libspop_audio_oss.so
-rw-r--r-- 1 root staff 128976 Oct 27 02:05 libspop_plugin_mpris2.so
-rw-r--r-- 1 root staff 15020 Oct 27 02:06 libspop_plugin_savestate.so
lrwxrwxrwx 1 root staff 21 Oct 27 01:20 libspotify.so -> libspotify.so.12.1.51
lrwxrwxrwx 1 root staff 21 Oct 27 01:20 libspotify.so.12 -> libspotify.so.12.1.51
-rwxr-xr-x 1 root staff 2467752 Oct 27 01:20 libspotify.so.12.1.51
drwxr-sr-x 2 root staff 4096 Oct 27 01:58 pkgconfig
drwxrwsr-x 4 root staff 4096 Oct 18 02:19 python2.7
drwxr-sr-x 3 root staff 4096 Oct 27 02:06 systemd

root@volumio:~# ldd /usr/local/bin/spopd
libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0x2ac48000)
librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0x2ac5b000)
libspotify.so.12 => not found
libglib-2.0.so.0 => /lib/arm-linux-gnueabihf/libglib-2.0.so.0 (0x2ac71000)
libgmodule-2.0.so.0 => /usr/lib/arm-linux-gnueabihf/libgmodule-2.0.so.0 (0x2aba4000)
libgthread-2.0.so.0 => /usr/lib/arm-linux-gnueabihf/libgthread-2.0.so.0 (0x2aad0000)
libjson-glib-1.0.so.0 => /usr/local/lib/libjson-glib-1.0.so.0 (0x2abff000)
libgio-2.0.so.0 => /usr/lib/arm-linux-gnueabihf/libgio-2.0.so.0 (0x2ad48000)
libgobject-2.0.so.0 => /usr/lib/arm-linux-gnueabihf/libgobject-2.0.so.0 (0x2ae42000)
libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0x2ae8a000)
/lib/ld-linux-armhf.so.3 (0x2ab3e000)
libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0x2ab6d000)
libpcre.so.3 => /lib/arm-linux-gnueabihf/libpcre.so.3 (0x2af79000)
libz.so.1 => /lib/arm-linux-gnueabihf/libz.so.1 (0x2abb7000)
libselinux.so.1 => /lib/arm-linux-gnueabihf/libselinux.so.1 (0x2aaf5000)
libresolv.so.2 => /lib/arm-linux-gnueabihf/libresolv.so.2 (0x2ac27000)
libffi.so.6 => /usr/lib/arm-linux-gnueabihf/libffi.so.6 (0x2aae2000)
libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0x2afd5000)

My one idea as to why this is happening is that libspotify is not the right build for my computer - I'm running this on a Cubox i-4 (Debian Wheezy), which is an ARMv7 Hard Float platform. Libspotify has an ARMv7 build, which seemed to build and install OK, but there is no build for ARMv7hf - and perhaps this is why the system isn't recognizing it. This sort of thing is beyond my technical understanding, though, so I'm just not sure. Hoping you can help!

@bdouble
Copy link
Author

bdouble commented Oct 27, 2014

Oh - you were looking for this info in the thread on #12 :

root@volumio:/usr/local/lib# file /usr/local/lib/libspotify.so.12.1.51
/usr/local/lib/libspotify.so.12.1.51: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), dynamically linked, stripped

@Schnouki
Copy link
Owner

Hi @bdouble, thanks for this detailed report :)

Could you please try setting LD_LIBRARY_PATH as in #12:

LD_LIBRARY_PATH=/usr/local/lib spopd

If that fails, could you also please run file /usr/local/spopd and uname -mpi?

Thanks!

@bdouble
Copy link
Author

bdouble commented Oct 28, 2014

Hi there - this didn't work, here's the output below.

The system is a Cubox i-4 and I'm running the "Volumio" 1.4 distribution (http://volumio.org/)

root@volumio:/var/www# LD_LIBRARY_PATH=/usr/local/lib spopd
spopd: error while loading shared libraries: libspotify.so.12: cannot open shared object file: No such file or directory
root@volumio:/var/www# file /usr/local/bin/spopd
/usr/local/bin/spopd: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0x7fada01d8fa4125407348b7b718bbaa7099bd5ab, not stripped
root@volumio:/var/www# uname -mpi
armv7l unknown unknown

@Schnouki
Copy link
Owner

Ok, I investigated a bit. Apparently the armv7 version libspotify uses the NEON extensions, which are not available on the CPU of the Cubox i-4.
Could you please try with the armv6 version of libspotify? https://developer.spotify.com/download/libspotify/libspotify-12.1.51-Linux-armv6-release.tar.gz

@bdouble
Copy link
Author

bdouble commented Oct 28, 2014

Thank you for looking into this! Unfortunately it appears that libspotify just isn't available on my platform. I get the same error. Here's what I did:

I uninstalled the armv7 version (via "make uninstall" as there is a target for this in the libspotify makefile).

Then installed the v6 version in the same place ("make install prefix=/usr/local")

Then re-compiled spopd (deleted the build directory and re-built with the command you gave in #12:

mkdir build && cd build && cmake -DCMAKE_INSTALL_RPATH=/usr/local/lib .. && make && sudo make install

I still get the "Cannot open shared object" error:

root@volumio:/spop/build# spopd
spopd: error while loading shared libraries: libspotify.so.12: cannot open shared object file: No such file or directory
root@volumio:
/spop/build# file /usr/local/lib/libspotify.so.12.1.51
/usr/local/lib/libspotify.so.12.1.51: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), dynamically linked, stripped
root@volumio:~/spop/build# file /usr/local/bin/spopd
/usr/local/bin/spopd: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0x7fada01d8fa4125407348b7b718bbaa7099bd5ab, not stripped

@Schnouki
Copy link
Owner

Hmmm, this doesn't look good. Could you please try with the other ARM releases of libspotify?

@Schnouki Schnouki added the RPi label Mar 25, 2015
@AcidBurns
Copy link

Hey,

Same Problem for me here. I tried all (arm) Versions, all failed.

However, I'm using a Raspberry Pi 2 which SHOULD have the NEON extensions (at least according to the raspberrypi forum: https://www.raspberrypi.org/forums/viewtopic.php?f=33&t=100631)
cat /prof/cpuinfo also yields neon extensions:
"Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm"

What did I forget?

uname -mpri gives: 3.18.0-trunk-rpi2 armv7l unknown unknown
I'm running debian testing with some tweaks: http://sjoerd.luon.net/posts/2015/02/debian-jessie-on-rpi2/

Any help appreciated.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

3 participants