This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Creating "semi"-shared gcj objects for other gcj applications?


Hi Andrew,

>>>>> However, I just want to make shared objects for use with other gcj
>>>>> applications.
>>>> It's all in the docs.
>>>> * When you compile your classes into a shared library they can be
>>>> automatically loaded by the `libgcj' system classloader.
>>> Ok, thanks... I managed to get it to work using the simple commands:
>>> $ gcj -c MYLIB.java (creates MYLIB.o)
>>> $ gcj -shared -o MYLIB.so MYLIB.o (creates the shared object MYLIB.so)
>>> $ gcj -c MyApplication.java (creates MyApplication.o)
>>> $ gcj --main=MyApplication MyApplication.o MYLIB.so (links MyApplication
>>> with MYLIB.so)
>> No. :-)
Huum! (o:


>> Try
>> gcj -c -fPIC MYLIB.java
>> gcj -shared -o libMYLIB.so MYLIB.o
>> gcj --main=MyApplication MyApplication.o -L. -lMYLIB
Well, the output seems identical, nevertheless. Though, specifying the PIC-option made the stripped version of the shared object smaller. Any explanation?


> Oh Lord, this is Cygwin, isn't it?  I'm sorry, I know nothing about
> Cygwin.  This would work on Linux...  :-)
Hey, who said anything about cygwin?! (Although you're right (o:)

But I still get the "MYLIB.so(.text+0x0):crtstuff.c: multiple definition of `___do_sjlj_init'" error whether doing it your way or not.
I think I'll just try gcc 3.4, and see if it works there...


Regards,
 Martin



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]