32bit java on 64bit os for vpn: Failed to load ncui library

asked 2016-12-23 14:43:45 -0600

sandeep gravatar image

updated 2016-12-23 15:14:53 -0600

Juniper vpn program is a 32 bit java binary. In order to run this, I installed various 32bit packages java.i686, libXext.i686, libXtst, libXrender, and so on. The program is able to execute but the depended library ncui fails to load with following error

OpenJDK 64-Bit Server VM warning: You have loaded library /home/sandeep/Downloads/tmp/libncui.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
Failed to load the ncui library.
Quitting.

I have seen this problem posted on other forums but there is no solution of it. I am on a AMD machine which libncui.so is a intel binary. Not sure if that is the problem.

libncui.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=e020bbf004c887b69f895e1297890975ea03b99d, stripped

Had some success in running this program. It seems one doesn't have to go the java route. One can create an executable directly from the libncui as follows:

gcc -m32 -Wl,-rpath,`pwd` -o ncui libncui.so

the resulting ncui executable is able to work. (credit: https://gist.github.com/tuxdna/5926030 ).

edit retag flag offensive close merge delete