View Full Version : About Shared Object linking


mrk2001
Hi All,
I'm facing a problem I posted it b4 but i'll post it again in more details problem is :

I'm developing an application on a small device with limited memory , The device OS is embedded linux (part of Red Hat 6.2
& kernel ver 2.4.16). I'm developing my application using Java 2 me that was already embedded in th linux version that come with the device(embedded linux), java virtual machine and shared object librarries which represnts the classes package that used in excuting my application are exist in the folder "/opt/vame"

and I add a shared object librarry "libivegfx14.so" that my application needs in excution to the same folder , BUT when I try to excute the application an error message appears :

"java.lang.UnsatisfiedLinkError: ivegfx14 (libc.so.2: cannot open shared object file: No such file or directory)"

I'm new to linux so I don't know to solve that problem ?? I searched for libc.so.2 in /lib and /usr/lib but i didn't find it I found libc.so.6 in /lib ...

What is the problem ??

- How to link the new so librarry to be like others that installed on the device??
- Is the error message means that : libivegfx14.so is searching for libc.so.2 but the exsit one is libc.so.6 ??

PLEASE I NEED HELP AS FAST AS POSSIBLE??

Thank you for concerning

mrk2001
Hi All
No one HELP ME??

MadFarmAnimalz
Like I think I said before, this looks like a library version problem.

I'm thinking your java whatever thingie (excuse the lack of jargon; I know nothing of java and hence a happier man) is looking for a specific version of the C library through its versioned link.

Pressed to come up with a kludge, I might suggest trying this:

cd /lib
ln -s libc-2.3.1.so libc.so.2

That might work if the specific functions exported by the librarty have survived the version change. Which is a long shot.

Oh, and that dynamic library you have that your application needs? Make sure it's in the library path.