ELF file OS ABI invalid
hi,
I am running Simple Jni example (for testing jni I am getting same error in my project) on FreeBSD but I am getting following error while executing my java Program %java Sample1 Exception in thread "main" java.lang.UnsatisfiedLinkError: /usr/home/smgusr/mangesh/libSample1.so.1.0.1: /usr/home/smgusr/mangesh/libSample1.so.1.0.1: ELF file OS ABI invalid at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1560) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1456) at java.lang.Runtime.load0(Runtime.java:737) at java.lang.System.load(System.java:811) at Sample1.main(Sample1.java:10) if I use ldd command it refer like this %ldd /usr/home/smgusr/mangesh/libSample1.so.1.0.1 /usr/home/smgusr/mangesh/libSample1.so.1.0.1: libc.so.4 => /usr/lib/libc.so.4 (0x2806a000) I have made libSample1.so.1.0.1 following way: gcc -o2 -fPIC -g -I/usr/local/linux-sun-jdk1.4.2/include -I/usr/local/linux-sun-jdk1.4.2/include/linux -c Sample1.c -o Sample1.o for linking gcc -o2 -shared -fPIC -pthread -Wl -I/usr/local/linux-sun-jdk1.4.2/include -I/usr/local/linux-sun-jdk1.4.2/include/linux -soname,libSample1.so.1 -o libSample1.so.1.0.1 Sample1.o -L/usr/compat/linux/lib -L/usr/lib -L/usr/home/smgusr/mangesh -lc Even though I try to load standard shared library from /usr/lib the error persist what is going wrong is it Linux emulator problem??????????? or my shared lirary problem???? We have installed linux_base to set linux environment set linux_base="yes" (/etc/rc.conf) set kern.fallback_brand=3 (/etc/sysctl.conf) Running kldstat is giving following result %kldstat Id Refs Address Size Name 1 4 0xc0100000 44fbf8 kernel 2 1 0xc33e3000 7000 linprocfs.ko 3 1 0xc3455000 15000 linux.ko 4 1 0xc3646000 3000 snp.ko Running following command to check linux binary compatibility layer is loaded: %kldstat -v | grep linuxelf 219 linuxelf I am getting above output (that means layer is loaded ) Running following command to check layer is compiled into the kernel or loaded as a module: % kldstat | grep linux.ko 3 1 0xc3455000 15000 linux.ko I am getting the above output ( Does it means it needs some more settings???????like setting options compat_unix in kernel config) is There any issue related to configuring ld.so files on FreeBSD??? configuration is : FreeBSD 4.10-BETA (GENERIC) I am using following packages linux-sun-jdk-1.4.2.04 Sun Java Development Kit 1.4 for Linux linux_base-8-8.0_4 Base set of packages needed in Linux mode (only for i386) linux_devtools-8.0_1 Packages needed for doing development in Linux mode libtool-1.3.5_1 Generic shared library support script gmake-3.80_1 GNU version of 'make' utility automake-1.4.5_9 GNU Standards-compliant Makefile generator (legacy version GCC 2.95.4 gdb 4.18 ld 2.12.1 supported emulation elf_i386 Regards man26 |
All times are GMT -5. The time now is 07:03 AM. |