Can't install from Ubuntu PPA

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?

You’re right, sorry.
Here goes: https://github.com/nextcloud/client_theming/issues/175

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.