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

Brian Jones <[email protected]>
Newsgroups gmane.comp.gcc.java.devel
Message-ID <1648142206140231803@unknownmsgid>
Ideally here you'd probably want to write peers not using X & remove
that dependency.

On Jan 10, 2012, at 6:40 PM, Yannick <[email protected]> wrote:

> 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.