Ubuntu 12.04 LTS X86_64 Desktop
Installed opennx from:
deb http://download.opensuse.org/repositories/home:/felfert/xUbuntu_12.04 ./
OpenNX client fails to connect with error about unexpected termination of \\"nxssh\\".
Problem fixed by adding opennx library to \\"ldconfig\\".
root@beluga:~# dpkg -S nxssh
opennx: /usr/lib/opennx/bin/nxssh
root@beluga:~# /usr/lib/opennx/bin/nxssh
/usr/lib/opennx/bin/nxssh: error while loading shared libraries: libXcomp.so.0: cannot open shared object file: No such file or directory
root@beluga:~# dpkg -S libXcomp.so.0
opennx: /usr/lib/opennx/lib/libXcomp.so.0
opennx: /usr/lib/opennx/lib/libXcomp.so.0.0.0
root@beluga:~# cat >/etc/ld.so.conf.d/opennx.conf <<EOF
/usr/lib/opennx/lib
EOF
root@beluga:~# ldconfig
root@beluga:~# /usr/lib/opennx/bin/nxssh
usage: nxssh [-nx|-nxservermode|-nxadminmode|-nxauthonly|-nxstdinpass]
[-delkey known_hosts row] [-BE] [-1246AaCfgkMNnqsTtVvXxY]
[-b bind_address] [-c cipher_spec]
[-D [bind_address:]port] [-e escape_char] [-F configfile]
[-i identity_file] [-L [bind_address:]port:host:hostport]
[-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
[-P [proxy_user:proxy_password@]proxy_hostname:proxy_port]
[-R [bind_address:]port:host:hostport] [-S ctl_path]
[-w local_tun[:remote_tun]] [user@]hostname [command]
This is most likely a different problem (and thus the wrong approach to fix it):
If you run nxssh manually, this is expected (just like the original NX client).
If you run it prefixed by LD_LIBRARY_PATH e.g:
LD_LIBRARY_PATH=/usr/lib/opennx/lib /usr/lib/opennx/bin/nxssh
that should have the same effect and that's exactly what OpenNX does.
Have a look into your system's debug log (if you don't have one, configure one), then start opennx (no need to start any session). You should see somethin like this:
Jul 31 05:38:08 localhost opennx[31282]: LD_LIBRARY_PATH='/opt/opennx/lib64'
The above line is from a 64bit Fedora system (where the opennx libs are in /opt/opennx/lib64)
My guess is: You will see something similar (lib64 is the last path element) which explains the actual error:
opennx detects that it is running on a 64-bit system and uses lib64/ instead of lib/ . Unfortunately each distro decides for themselves where $(libdir) points to. Apparently, Ubuntu decided to switch from lib64 to lib some time in the past... so opennx simply sets the wrong location. Solution would be:
cd /usr/lib/opennx && ln -snf lib lib64
Let me know, if my guess is correct and I will put that symlink into the next version...
-Fritz
Hi, Fritz.
Sorry, it was me who first reported this bug anonymously...
I reinstalled OpenNX after upgrading to Ubuntu 12.04.2 LTS and I encountered the same bug again. This time, I tried your suggestion and created a link, but it did not work. I used ldconfig to resolve the problem because LD_LIBRARY_PATH should only be used for debugging.
HTH,
Tony.
I have this problem too on Ubuntu 12.10. Adding the symlink fixes it.
I have this problem on ubuntu 12.04 also. The link fixes it. (But they I get another error, which I will discuss on another ticket.)