Re: Compiling jar file using gcj
Andrew Haley <[email protected]>
| Newsgroups | gmane.comp.gcc.java.devel |
|---|---|
| Message-ID | <[email protected]> |
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.