Library problem in jni.cc on Linux
Martin Kahlert
martin.kahlert@infineon.com
Thu May 3 07:28:00 GMT 2001
Hi!
I need some helping hand on this:
I try to link native methods to be statically linked into an executable on Linux.
This does not work. I used --whole-archive, but that only ensures, that the
needed methods are linked into the executable, which is a good thing.
Then i thought, that --export-dynamic would be good and used that, too.
The real problem seems to be the final line
return lt_dlsym (NULL, symname);
inside java/lang/natRuntime.cc:74
I thought, that would search symname inside the executable, but this is not
the case: The first executable instruction of lt_dlsym inside
libltdl/ltdl.c:1663 is this:
if (!handle)
{
last_error = LT_DLSTRERROR(INVALID_HANDLE);
return 0;
}
So the call in natRuntime.cc is a pure nop.
Unfortunately, i do not have any clue, how to correct this.
I assume, the executable has to be added to the libraries list
using add_library but i do not know, when and how this should be done.
(java::lang::Runtime::init? lt_dlinit?)
Please give me some hints.
Thanks in advance,
Martin
--
The early bird gets the worm. If you want something else for
breakfast, get up later.
More information about the Java
mailing list