Loading...

java@gcc.gnu.org

[Prev] Thread [Next]  |  [Prev] Date [Next]

Gnu Classpath on HP webOS : connexion problem between escher and X server / or loadling escher problem by Gnu classpath Yannick Wed Feb 01 20:01:09 2012

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 :

[EMAIL PROTECTED]
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 :

[EMAIL PROTECTED] 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