Robomongo: Doesn't run on Fedora

Created on 6 Sep 2020  路  12Comments  路  Source: Studio3T/robomongo

There's no libcurl-gnutls.so.4 on Fedora:

./robo3t: error while loading shared libraries: libcurl-gnutls.so.4: cannot open shared object file: No such file or directory
unsupported-OS

Most helpful comment

Workaround using patchelf:

patchelf --replace-needed libcurl-gnutls.so.4 libcurl.so.4 robo3t

All 12 comments

Workaround using patchelf:

patchelf --replace-needed libcurl-gnutls.so.4 libcurl.so.4 robo3t

I experienced the same issue on Gentoo, which compiles curl with 'openssl' instead of 'gnutls' by default. I recompiled curl with the correct 'gnutls' use flag, but still had to manually cp -v /usr/lib/libcurl.so.4 /opt/robo3t/lib/libcurl.so.4, and then create the symlink ln -sv libcurl.so.4 libcurl-gnutls.so.4.

Even if curl had been compiled with 'gnutls' initially, robo3t still only looks within its own ./lib directory for libcurl-gnutls.so.4, so I still would have needed to copy and symlink the file.

It seems this library just hasn't been included into v1.4 of Robo3T. Gentoo does not provide a robo3t ebuild, so this issue occurred with the latest robo3t-1.4.0-linux-x86_64-12e54cc.tar.gz downloaded directly from https://robomongo.org/.

Same issue on CentOs 7

Can confirm this issue on fedora. After using the patchelf command above I get this warning when launching robo3t:

$ patchelf --replace-needed libcurl-gnutls.so.4 libcurl.so.4 robo3t
$ ls /lib64/libcurl*
/lib64/libcurl.so  /lib64/libcurl.so.4  /lib64/libcurl.so.4.6.0
$ ./robo3t 
./robo3t: /lib64/libcurl.so.4: no version information available (required by ./robo3t)

Hi @mohd-akram , all, thanks for reporting the problem. But, unfortunately for Linux currently only Ubuntu is supported.
And thanks a lot for sharing the workaround solution @mohd-akram .

@simsekgokhan A simple fix for this could be doing apt install libcurl4-openssl-dev on the machine that you're building the binaries on. This should cause the binary to link with libcurl.so.4 which is available on other platforms.

Can confirm this issue on openSUSE 15.2. I just create a symlink into lib directory in Robo3t install dir:

ln -s /usr/lib64/libcurl.so.4 ~/bin/robo3t-1.4.1/lib/libcurl-gnutls.so.4

Can confirm this issue on openSUSE 15.2. I just create a symlink into lib directory in Robo3t install dir:

ln -s /usr/lib64/libcurl.so.4 ~/bin/robo3t-1.4.1/lib/libcurl-gnutls.so.4

Confirm! Same on Fedora works well.

@simsekgokhan A simple fix for this could be doing apt install libcurl4-openssl-dev on the machine that you're building the binaries on. This should cause the binary to link with libcurl.so.4 which is available on other platforms.

THIS!

Fedora 33.

```[az@dell5000 robo3t-1.4.2-linux-x86_64-8650949]$ ls -l ./lib/libcurl-gnutls.so.4
lrwxrwxrwx 1 az az 23 Jan 13 12:52 ./lib/libcurl-gnutls.so.4 -> /usr/lib64/libcurl.so.4
[az@dell5000 robo3t-1.4.2-linux-x86_64-8650949]$ ./bin/robo3t
./bin/robo3t: /home/az/bin/robo3t-1.4.2-linux-x86_64-8650949/bin/../lib/libcurl-gnutls.so.4: no version information available (required by ./bin/robo3t)

```

On Fedora 33

Can confirm this issue on openSUSE 15.2. I just create a symlink into lib directory in Robo3t install dir:
ln -s /usr/lib64/libcurl.so.4 ~/bin/robo3t-1.4.1/lib/libcurl-gnutls.so.4

this comment works

Fedora 34
Robomongo installed on /opt/; the symlink works too.

ln -s /usr/lib64/libcurl.so.4 /opt/robo3t-1.4.3-linux-x86_64-48f7dfd/lib/libcurl-gnutls.so.4
Was this page helpful?
0 / 5 - 0 ratings

Related issues

ghost picture ghost  路  3Comments

axe-z picture axe-z  路  3Comments

equero picture equero  路  3Comments

imkratos picture imkratos  路  4Comments

kphamilton picture kphamilton  路  3Comments