We have cross-compiled the gnu classpath 0.98 and jamvm 1.5_4 for our arm xscale device. When we run helloworld program, it works perfectly fine. But when we run gui applications, there is no response. Below are our commands which we gave for cross-compiling:
GNU CLASSPATH:
./configure --host=arm-xscale-linux-gnueabi --prefix=/usr/local --disable-examples --with-x --disable-qt-peer --disable-gtk-peer --disable-gconf-peer --disable-plugin --enable-alsa --disable-dssi --with-escher=/home/warrior/java-project/escher-0.3/src --enable-local-sockets --enable-collections --enable-xmlj --disable-Werror --enable-tools --enable-default-toolkit=gnu.java.awt.peer.x.XToolkit
make
make install
JAMVM:
./configure --host arm-xscale-linux-gnueabi --prefix=/usr/local --with-classpath-install-dir=/usr/local –enable-ffi
make
make install
We then transfer the required files to our device.
we run our programs as
jamvm helloworld
jamvm -verbose Button
helloworld runs perfectly fine and gives the desired output in proper time. But when we run any gui sample we receive following error:
Exception in thread "main" java.lang.ExceptionInInitializerError
at gnu.java.awt.peer.x.XToolkit.getClasspathFontPeer(XToolkit.java:208)
at java.awt.Font.getPeerFromToolkit(Font.java:329)
...
Caused by: java.lang.NullPointerException
at java.io.InputStreamReader.<init>(InputStreamReader.java:208)
at java.util.Properties.load(Properties.java:380)
at gnu.java.awt.font.OpenTypeFontPeer.<clinit>(OpenTypeFontPeer.java:93)
at gnu.java.awt.peer.x.XToolkit.getClasspathFontPeer(XToolkit.java:208)
Can someone please guide us on this. This is becoming very critical.
Earlier we thought this to be jamvm issue, but on jamvm forums , it can out that we are missing something while cross-compiling gnu classpath.
It will be a great help if someone can direct us towards fixing this to see what we are missing to get the gui applications running with jamvm. We have made a small sample using java swing which creates a frame and 2 buttons over it.
Thanks in advance.