Gnu Classpath on HP webOS : connexion problem between escher and X server / or loadling escher problem by Gnu classpath

Yannick <[email protected]>
Newsgroups gmane.comp.gcc.java.devel
Message-ID <[email protected]>
Hello,

I try to create a Java J2SE (Java Desktop) port to HP webOS with Gnu
Claspath and JamVVM.

You can find my working page here :
Building JamVM and GNU Classpath and Jikes (for Java support in webOS)
with scratchbox2
http://www.webos-internals.org/wiki/Building_JamVM_and_GNU_Classpath_and_Jikes_%28for_Java_support_in_webOS%29_with_scratchbox2

All the compilation options and installation steps for Gnu Classpath 0.98,
escher 0.3.0, javm 1.5.4 are detailed in the web page here :
http://www.webos-internals.org/wiki/Building_JamVM_and_GNU_Classpath_and_Jikes_%28for_Java_support_in_webOS%29_with_scratchbox2

1) I patch Gnu Classpath 0.98 with the patch here
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41057 to compile and install
it with
escher 0.3.0.

2) I use this line for compiling Gnu Classpath :
LDFLAGS="-L/usr/local/lib -Wl,-rpath=/media/internal/opt/lib"
CPPFLAGS="-I/usr/local/include" ./configure --prefix=/media/internal/opt
--disable-examples --with-x --disable-gtk-peer --disable-gconf-peer
--disable-plugin --disable-alsa --disable-dssi
--with-escher=/home/ubuntu/java-project/escher-0.3/src
--enable-local-sockets
--enable-collections --enable-xmlj

3) Makefile for X server binaries on webos :
http://git.webos-internals.org/preware/cross-compile/tree/packages/x/xserver-package/Makefile

4) Packagind and script to use X server on webOS :
http://git.webos-internals.org/x11/xserver/tree/

My problem is that escher, a Java lib that is a Java client, can not
connect to
the X server or that Gnu Classpath can find the escher lib/java classes.
How works escher : http://marcosroriz.wordpress.com/2010/06/14/gsoc-updates/

In my webOS process list, I have :

root@Palm
Pre:/media/cryptofs/apps/usr/palm/applications/org.webosinternals.xserver/bin#
ps -edf
...
root 1902 1 2 04:38 ? 00:00:38
/media/cryptofs/apps/usr/palm/applications/org.webosinternals.xserver/bin/Xsdl
-retro -noreset :0.0
root 1936 1 0 04:38 ? 00:00:00
/media/cryptofs/apps/usr/palm/applications/org.webosinternals.xterm/bin/xterm
-display :0.0 -maximize -xrm *metaSendsEscape: true -u8 -e login -p -f root
...

When I launch the JRE and with Xterm started, I have the following error
message :

root@Palm Pre:/media/internal# /media/internal/opt/bin/jamvm HelloWorld
-bootclasspath
/media/internal/opt/share/jamvm/classes.zip:/media/internal/opt/share/classpath/glibj.zip:/media/internal/
opt/share/classpath/escher-0.3.jar:/media/internal/opt/share/classpath/collections.jar
HelloWorld -Dawt.toolkit=gnu.java.awt.peer.x.XToolkit HelloWorld
Exception in thread "main" java.awt.AWTError: Cannot load AWT toolkit:
gnu.java.awt.peer.gtk.GtkToolkit
at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:607)
at
java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:103)
at java.awt.Window.(Window.java:133)
at java.awt.Frame.(Frame.java:246)
at java.awt.Frame.(Frame.java:234)
at HelloWorld.(HelloWorld.java:7)
at HelloWorld.main(HelloWorld.java:5)
Caused by: java.lang.UnsatisfiedLinkError: Native library `gtkpeer' not
found
(as file `libgtkpeer.so') in gnu.classpath.boot.library.path and
java.library.path
at java.lang.Runtime.loadLibrary(Runtime.java:763)
at java.lang.System.loadLibrary(System.java:670)
at gnu.java.awt.peer.gtk.GtkToolkit.(GtkToolkit.java:177)
at java.lang.VMClass.forName(Native Method)
at java.lang.Class.forName(Class.java:233)
at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:583)
...6 more
But here Gnu Classpath is not compiled to use libgtkpeer.so (c/C++ lib
with Qt
or GTK) but escher java lib.
And I found no error when I launch it in webos /var/log/messages file.

In escher documentation on the Internet, I found that :
* To test X Awt peer, you must remove "-nolisten TCP" from XServer start
script.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41057
*in console type the command line xhost+
http://rbytes.net/linux/escher-review/
The problem is that I can not change the XServer start script used by webOS.
I have no xhost script or binary on my webOS device.

Here : http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41057
I found a patch that I have applied on Gnu Classpath 0.98 to use it with
escher
0.3.0
and in the diff for this patch :
http://gcc.gnu.org/bugzilla/attachment.cgi?id=18352&action=diff
you can find the line
display = new Display(socket, "localhost", displayName.display_no,
displayName.screen_no);

Do I need to use login and a password  for connexion with the X server
on webOS
device ?

Can you help me to :
1) to check that all is OK with escher and my Gnu Classpath ?
2) to check conexion problem between Gnu Classpath/escher and the X server ?

My goal is to create the webOS internals's Java Desktop PDK for webOS as
webOS
PDK with C/C++.

Thank you for your help.

Best regards

Yannick
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.