Good morning,
I was using the linux desktop client version 2.2.4 for a long while, but I canât remember how it was installed. Thereâs nothing in apt(-get) or dpkg. Might have been fairly manual, back in the old days.
Either way, Iâm trying to propperly install 2.3.1 through the nextcloud-devs/client PPA, as per instructions on the nextcloud website. So, I first removed the existing 2.2.4, then installed ânextcloud-clientâ through apt, no errors, looks fine.
But: Thereâs no client. Gnome shell doesnât know any ânextcloudâ, and when starting ânextcloudâ in the console, I get
nextcloud: error while loading shared libraries: libocsync.so.0: cannot open shared object file: No such file or directory
Running
find / -iname âlibocsync.so.0â 2>/dev/null
I get
/usr/local/src/client_theming/build-linux/csync/src/libocsync.so.0
/usr/local/lib/x86_64-linux-gnu/nextcloud_back/libocsync.so.0
/usr/lib/x86_64-linux-gnu/nextcloud/libocsync.so.0
/usr/lib/x86_64-linux-gnu/nextcloud_back/libocsync.so.0
/usr/lib/x86_64-linux-gnu/owncloud_back/libocsync.so.0
the _back folders are leftovers from the old client, which I meant to keep for now as a just-in-case. So that leaves
/usr/lib/x86_64-linux-gnu/nextcloud/libocsync.so.0
as a file only showing up after I installed the package. So, why doesnât the client find it?
I found this thread when searching for the error: https://github.com/nextcloud/client_theming/issues/15. Same error, about nextcloud as well, but since the file is not in /usr/local/lib/x86_64-linux-gnu but in /usr/lib/x86_64-linux-gnu that shouldnât be the issue, right?
So, any help much appreciated.
Hi,
what OS are you trying to install the client on? Installing on other OS than the Ubuntu version the package is compiled for is known to cause this issue, although I do not know how it can be solved. It may be some configuration issue related to the search path of the dynamic loaded. If you run the clent with strace, it may reveal where it looks for this library.
Thanks for replying. Yes, my fault, I should have been clear about this: Iâm running Ubuntu 16.04. I used
sudo add-apt-repository ppa:nextcloud-devs/client
which correctly added
deb http://ppa.launchpad.net/nextcloud-devs/client/ubuntu xenial main
to my sources. I then ran
sudo apt-get update && sudo apt-get install nextcloud-client
all of which worked like a charm, except: no working nextcloud sync client (as described in the first post)
It is strange, because on other Ubuntu 16.04 systems it works without any issues.
Anyway, please, issue the following command:
ldd `which nextcloud`
There should be a line about ``libocsync.so.0` like on my system:
libocsync.so.0 => /usr/lib/x86_64-linux-gnu/nextcloud/libocsync.so.0 (0x00007f57b755a000)
Also, this command:
objdump -x `which nextcloud` | grep RUNPATH
It should result in this:
RUNPATH /usr/lib/x86_64-linux-gnu/nextcloud
(As this is the directory where the program should look for the libocsync.so.0
.
Again, thanks for your help, and yes, it is strange. I can only assume it has to do with the way I installed the old version (though, no idea how that was done back then).
So, the ldd outputs exactly what you expected.
objdump however comes up empty, nothing. Thatâs probably not good, is it?
If ldd
gives you the correct result, it means that the dynamic loader should find the library when the application is being started. However, it may still be the case that a library linked to libocsync.so
is not found. So, please, issue this command:
ldd /usr/lib/x86_64-linux-gnu/nextcloud/libocsync.so.0
It may display some lines containing not found
or something like that for some libraries.
Hope itâs ok to just paste this here:
ldd /usr/lib/x86_64-linux-gnu/nextcloud/libocsync.so.0
linux-vdso.so.1 => (0x00007ffc395e5000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f6280993000)
libsqlite3.so.0 => /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007f62806bb000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f6280333000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f628011b000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f627fd4b000)
/lib64/ld-linux-x86-64.so.2 (0x000055eb71462000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f627fb2b000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f627f923000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f627f613000)
Well, itâs getting quite mysterious. Could you run the client with strace
, like this:
strace -f -o nextcloud.trace nextcloud
I would be interested in the nextcloud.trace
file, but it will be quite large. I cannot see any way to attach a file to a reply or a topic here, so you can send the file to me by e-mail, if all else fails. Or you can open an issue on the GitHub project (https://github.com/nextcloud/client_theming), which allows attaching files.
Donât worry, thereâs nothing to sendâŠ
nextcloud: error while loading shared libraries: libocsync.so.0: cannot open shared object file: No such file or directory
Even if this is printed only, the trace file should contain something. Or is it empty?
Just as an update: Looks very much like something in my home-folder breaks NC (and OC, actually) client for me. I renamed my ~/.local/share/data/Nextcloud folder to start fresh, but that didnât help.
ANY input highly welcome.