linking a .so with libgcj.a ?
Andi Vajda
andi@osafoundation.org
Wed Dec 15 17:32:00 GMT 2004
Yes, stripping libgcj.so.5.0.0 works wonders. It's down to 9Mb here.
While this works fine on Linux, it doesn't work on Mac OS X. I stripped
libgcj.5.dylib, the .so is made but upon loading it I get a dyld failure on a
bunch of libgcj symbols such as __Jv_InitClass, __Jv_AllocObject, etc.. (about
a dozen). On Mac OS X, a python extension is linked as a bundle.
As for the GDB stack trace, I didn't get any with my default flags, I'm
building for debugging now, but the GDB stacktrace was ominously short (2
lines of ???).
Andi..
On 2004年12月15日, Michael Koch wrote:
> Am Mittwoch, 15. Dezember 2004 08:02 schrieb Andi Vajda:
>> On Linux (gentoo 2.6.9), using gcj 3.4.3, built from sources, I'm
>> trying to create a .so (a python extension) that is statically
>> linked with libgcj.a instead of dynamically with libgcj.so.5.
>>>> I can link it with libgcj.so without a problem, it works fine.
>> If I link it with libgcj.a, it links, creates a .so that crashes
>> with a segfault as soon as it is loaded into the process.
>> On windows, with Mingw 3.4.2, this works (and is the default, there
>> apparently isn't even a libgcj.dll anyway).
>>>> Linking my .so statically with libgcj.a would reduce the size of
>> the libs I have to ship by a large amount until libgcj.so.5 is
>> installed, standard, on Linux distributions. My .so dynamically
>> linked is 2Mb, statically linked 15Mb, libgcj.so.5.0.0 is 41Mb.
>> Stripped libgcj.so.5.0.0 is 11519264 bytes here.
>>> Can I do that ? How ?
>> Can you start our app in GDB and give us a backtrace ?
>>> Michael
> --
> Homepage: http://www.worldforge.org/
>
More information about the Java
mailing list