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: Compiling jar file using gcj


Swapnil Jain wrote:
> On 01-Sep-09, at 3:02 PM, Andrew Haley wrote:
> 
>> 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.
> 
>> gcj -c RXTXcomm.jar -o RXTXcomm.o
> 
> THIS GOES OK
> 
>> gcj -c --classpath=RXTXcomm.jar iRemote.jar -o iRemote.o
> 
> THIS GOES OK
> 
>> gcj --main=iremote.controller.Controller -o native.o RXTXcomm.o iRemote.o
> 
> again too many errors, i am attaching the error log

I'll say again

"a chunk of native code seems to be missing"

The RXTXcomm package contains native code.  You have to link it to your
main program.

Andrew.


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