JBidwatcher on Linux, GCJ ?

Subscribe to JBidwatcher on Linux, GCJ ? 3 post(s), 1 voice

Avatar maxh 3 post(s)

Hello Everybody,

I cloned the git repository from github. My intention is to try to compile JBidwatcher with GCJ to get a speed improvement on linux, because on my “old” laptop JBidwatcher really burns some CPU cycles :)

GCJ from the GCC claims to support Java 1.5 and the JBidwatcher website states that 1.5 is required, should theoretically it should be possible.

Anyway, I could not find information on how the build itself is done. I saw the build.xml file, which looks like some IDE project file. However I did not recognize the program which actually uses build.xml.

In order to get going I’d like to first understand the following steps before I try to compile with GCJ:

How currently JBidwatcher is compiled, what is the IDE/toolchain used ?
How is JBidwatcher currently packaged ?

Thanks for any help


Avatar maxh 3 post(s)


I had a further look into this, found out that JBidwatcher is build using ant and tried to add a target to build.xml to compile JBidwatcher with gcj like this:

However this fails with that message below, which I think wants to tell me something regarding gcj not being found.

/home/mh/jbidwatcher-dev/build.xml:86: Error running gcj compiler
at org.apache.tools.ant.taskdefs.compilers.DefaultCompilerAdapter.executeExternalCompile(DefaultCompilerAdapter.java:514)
at org.apache.tools.ant.taskdefs.compilers.DefaultCompilerAdapter.executeExternalCompile(DefaultCompilerAdapter.java:433)
at org.apache.tools.ant.taskdefs.compilers.Gcj.execute(Gcj.java:48)
at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:1097)
at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:906)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
at java.lang.reflect.Method.invoke(libgcj.so.10)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:390)
at org.apache.tools.ant.Target.performTasks(Target.java:411)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1360)
at org.apache.tools.ant.Project.executeTarget(Project.java:1329)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1212)
at org.apache.tools.ant.Main.runBuild(Main.java:801)
at org.apache.tools.ant.Main.startAnt(Main.java:218)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
Caused by: java.io.IOException: java.io.IOException: No such file or directory
at java.lang.PosixProcess.(libgcj.so.10)
at java.lang.Runtime.execInternal(libgcj.so.10)
at java.lang.Runtime.exec(libgcj.so.10)
at org.apache.tools.ant.taskdefs.Execute$Java13CommandLauncher.exec(Execute.java:827)
at org.apache.tools.ant.taskdefs.Execute.launch(Execute.java:445)
at org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:459)
at org.apache.tools.ant.taskdefs.compilers.DefaultCompilerAdapter.executeExternalCompile(DefaultCompilerAdapter.java:511)
…18 more
Caused by: java.io.IOException: No such file or directory
at java.lang.PosixProcess.nativeSpawn(libgcj.so.10)
at java.lang.PosixProcess.spawn(libgcj.so.10)
at java.lang.PosixProcess$ProcessManager.run(libgcj.so.10)

Total time: 5 seconds

Avatar maxh 3 post(s)

I worked on this a bit more and succeeded in compiling some of the java files with gcj, two give an error from the compiler.

I also found out that I can compile and start jbidwatcher like this:
gij-4.4 -jar JBidwatcher-2.1.2.jar
However, just the options dialog pops up, not the rest of the gui.