Help me O linux Masters!!!
hi all,
I am really searching hard for solution on "ELF file os abi invalid" error.
I am running Simple Jni example (to test 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
(ref link: merlinobbs.net/modules.php?name=News&file=article&sid=483
Does it means it needs some more settings???????like setting options compat_linux in kernel config)
I am getting ELF file OS ABI invalid error while loading shared library using java
is There any issue related to configuring ld.so files on FreeBSD???
linprocfs is mounted and showing entry in the (/etc/fstab) and kldstat command
ur valuable suggestions are welcomed
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
|