Compiling jar file using gcj

Andrew Haley aph@redhat.com
Tue Sep 1 09:33:00 GMT 2009


Swapnil Jain wrote:
> i am attaching the RXTXcomm.jar that i use
>>>>> --------------------------------
> Swapnil Jain
> Indore
> -----------------------------------------------
>>>> On 31-Aug-09, at 4:52 PM, Andrew Haley wrote:
>>> Swapnil Jain wrote:
>>> i am using ubuntu 9.04 32 bit desktop edition.
>>>>>> gcc (Ubuntu 4.3.3-5ubuntu4) 4.3.3
>>> gcj (Ubuntu 4.3.3-5ubuntu4) 4.3.3
>>> java version "1.6.0_14"
>>> Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
>>>>>> i created a java project using netbeans. it uses 2 libraries
>>> RXTXcomm.jar & mysql-connector-java-5.1.7-bin.jar
>>>>>> after building the project thru netbeans i get the iRemote.jar file in
>>> the dist folder.
>>>>>> i want to compile it using gcj to create a binary file. i am using the
>>> following command
>>>>>> gcj -o iRemote.sh --main=iremote.controller.Controller
>>> --classpath=RXTXcomm.jar:mysql-connector-java-5.1.7-bin.jar: iRemote.jar
>>> RXTXcomm.jar mysql-connector-java-5.1.7-bin.jar -v
>>>>>> i am getting a segmentation fault error (file attached)
>>>>>>>>> i am also attaching strace of gcc & gcj
>>>>>>>>> kindly let me know if any more information you need.
>>>> All files. I need to know how to get the exact same versions you
>> are using. Of course, this includes RXTXcomm.jar.

You have run into a bug where gcj gets very confused if the same file occurs
more than once on the command line. I need to look at a way to detect this
and abort with an error message instead of segfaulting.
I cannot compile your example because a chunk of native code seems to be
missing from RXTXcomm. You need to find this.
However, once you find the native code for RXTXcomm, something like
<compile the RXTX native code to native.o>
gcj -c RXTXcomm.jar -o RXTXcomm.o
gcj -c --classpath=RXTXcomm.jar iRemote.jar -o iRemote.o
gcj --main=iremote.controller.Controller native.o RXTXcomm.o iRemote.o
should work.
Andrew.


More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /