Thursday 19 September 2019

Netscaler VPN client on Linux seems to have issues with libraries.

I have to use the Netscaler VPN client on Linux to do some work. However, I noticed that after upgrading to a newer version of Linux (via wipe/reinstall) the client now doesn't seem to work.

The error appears when you run the client on the CLI, otherwise you get nothing. It says:

./NSGClient: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory

Great! Let's install libssl. Oh, it's installed. Let's check what libraries it needs/are missing.

ldd NSGClient 
./NSGClient: /lib/x86_64-linux-gnu/libcurl.so.4: version `CURL_OPENSSL_3' not found (required by ./NSGClient)
linux-vdso.so.1 (0x00007ffef68d9000)
libX11.so.6 => /lib/x86_64-linux-gnu/libX11.so.6 (0x00007f4a1b1b3000)
libssl.so.1.0.0 => not found
libcrypto.so.1.0.0 => not found
libcurl.so.4 => /lib/x86_64-linux-gnu/libcurl.so.4 (0x00007f4a1b125000)
        ... <cut more output - all libraries present>
libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f4a17286000)
libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007f4a17263000)

Two things to note from that output.

1. libcurl.so.4 complains about CURL_OPENSSL_3 not found.
2. Two libraries are not found.

So I tried a couple of things all of which complained that the OpenSSL version of the library was needed. A search on my system came up with the steam directory containing the libraries I required!

Well, that's convenient.

I did the following in the /opt/Citrix/NSGClient/bin/ directory.

ln -s /home/user/.steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libssl.so.1.0.0
ln -s /home/user/.steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
ln -s /home/user/.steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libcurl.so.4
ln -s /home/user/.steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/librtmp.so.0

Job done. NSG VPN Client now works.

So, if you are in need of the right libraries for your VPN client, install Steam!

1 comment:

m1k3r said...

Hi, thanks for the hint ;D

I have symlinked the libs in /lib/x86_64-linux-gnu

oh, and better locate the libs on your sys cause the Steam Installation varies by Version...in my case its .steam/Debian-Installation...

have fun ;D