[kaffe] Compile problems

Rafael Teixeira monoman at gmail.com
Sat Nov 26 08:57:51 PST 2005


Well, we could not make kaffe work on our XScale hardware (an IXP425
custom board), but I'll share what we've found while tinkering with
JamVM.

Mainly it looks like pthreads is flawed on XScale, as the the second
thread (the first one besides the executing main-thread) gets a
separate tid but shares the pid with the main thread, so that
signal-disabling/enabling/sending/waiting gets wrecked, as pid plays
an important role with signals. Subsequent threads get unique
pids/tids, so the stopgap measure that got us at least able to startup
the VM was to create a dummy thread (not even visible to the Java
side) before any other "real" threads. It is a hack, but I confess
that we could not find time to debug pthreads (we are using a
kernel.2.4-based Snapgear as our Linux substrate).

Hope it helps,

On 11/26/05, Guilhem Lavaux <guilhem at kaffe.org> wrote:
> Hi Jari,
>
> What kind of signal is it ? Could you run kaffe with '-vmdebug INIT' ?
> I am thinking of two possibilities:
> * stack boundary detection (which uses SEGV)
> * GC handling (which uses a couple of signal to stop/start the VM).
>
> Cheers,
>
> Guilhem.
>
> Jari Korva wrote:
> > Hi,
> >
> > I haven't progressed much. It would help *a lot* if someone who
> > understands how Kaffe works would tell who is supposed to send that
> > signal so it would be easier to find out why it is not done :)
> >
> > I have also observed some variety in how Kaffe behaves. In some very rare
> > cases I have got it to print the HelloWorld message but usually it just
> > hangs before that.
> >
> > Cheers,
> >   Jari
> >
> > On Fri, 18 Nov 2005, Rafael Teixeira wrote:
> >
> >>Hi Jari and Kaffe-List:
> >>
> >>I'm also stuck with Kaffe stopping on startup on my XScale (IXP42x)
> >>hardware. To add some more info we've tried with JamVM and SableVM,
> >>and similar behaviour occurs, our next try is to use Mono with IKVM,
> >>to see if we can get a single VM to startup our java firmware in the
> >>XScale.
> >>
> >>By tracing a bit, sure things look like your unanswered post on Signal
> >>Waiting was in the right track, but with JamVM we are sometimes able
> >>to get a simple "Hello World" to work, and sometimes it also hangs.
> >>
> >>Jari, Have you been able to go further?
> >>
> >>Thanks for any information, and we will be glad to share what we find
> >>on our quest to make Kaffe work on XScale.
> >>
> >>
> >>Regards,
> >>
> >>--
> >>Rafael Teixeira
> >>
> >>
> >>On 11/18/05, Jari Korva <jpkorva at iki.fi> wrote:
> >>
> >>>Hi,
> >>>
> >>>I observed a few problems while compiling Kaffe cvs head:
> >>>
> >>>******
> >>>
> >>>Classpath configure fails due to missing X libraries although X and
> >>>GTK are disabled in Kaffe configure script:
> >>>
> >>># ./configure --prefix=/wrk/kaffe.intrp --build=i686-linux
> >>>--host=armv5b-softfloat-linux --enable-xscale --without-x
> >>>--disable-alsatest --disable-esdtest --disable-sound
> >>>--enable-pure-java-math --with-jikes=/opt/local/bin/jikes
> >>>--without-classpath-gtk-awt --without-kaffe-qt-awt --without-kaffe-x-awt
> >>>--with-threads=unix-pthreads --with-engine=intrp
> >>>...
> >>>checking for iconv declaration...
> >>>         extern size_t iconv (iconv_t cd, char * *inbuf, size_t
> >>>*inbytesleft, char * *outbuf, size_t *outbytesleft);
> >>>checking for X... disabled
> >>>configure: error: GTK+ peers requested but no X library available
> >>>configure: error: /bin/sh './configure' failed for libraries/javalib/external/classpath
> >>>
> >>>I was able to fix this by doing a manual classpath configure (with
> >>>--disable-gtk-peer):
> >>>
> >>># cd libraries/javalib/external/classpath
> >>># ./configure --prefix=/wrk/kaffe.intrp --build=i686-linux
> >>>--host=armv5b-softfloat-linux --enable-xscale --without-x
> >>>--disable-alsatest --disable-esdtest --disable-sound
> >>>--enable-pure-java-math --with-jikes=/opt/local/bin/jikes
> >>>--without-classpath-gtk-awt --without-kaffe-qt-awt --without-kaffe-x-awt
> >>>--with-threads=unix-pthreads --with-engine=intrp --enable-debug
> >>>--enable-xdebugging --disable-boehm-gc-configuration
> >>>build_alias=i686-linux host_alias=armv5b-softfloat-linux
> >>>--enable-ltdl-convenience --disable-core-jni --disable-examples
> >>>--with-glibj-dir=/wrk/kaffe.intrp/jre/lib
> >>>--with-native-libdir=/wrk/kaffe.intrp/jre/lib/arm
> >>>--with-vm-classes=/wrk/kaffe-cvs-head/libraries/javalib/vmspecific
> >>>--cache-file=/dev/null --srcdir=. --disable-gtk-peer
> >>>
> >>>******
> >>>
> >>>The 2nd problem is that configure fails when cross compiling for
> >>>ARM/XScale:
> >>>
> >>>...
> >>>checking for esd-config... /usr/bin/esd-config
> >>>checking for ESD - version >= 0.2.1... yes
> >>>Information: Using pure Java math library
> >>>checking which extensions to include...
> >>>checking if malloc debugging is wanted... no
> >>>checking pthread.h usability... yes
> >>>checking pthread.h presence... yes
> >>>checking for pthread.h... yes
> >>>checking for /proc/self/maps... configure: error: cannot check for file
> >>>existence when cross compiling
> >>>
> >>>I was able to fix this with the patch below:
> >>>
> >>>--- config/arm/linux/config.frag    20 Jan 2005 23:19:18 -0000     1.8
> >>>+++ config/arm/linux/config.frag    18 Nov 2005 12:46:49 -0000
> >>>@@ -12,4 +12,5 @@
> >>>   ac_cv_func_mmap_fixed_mapped=${ac_cv_func_mmap_fixed_mapped='yes'}
> >>> #  ac_cv_func_utime_null=${ac_cv_func_utime_null='yes'}
> >>>   ac_cv_c_char_unsigned=${ac_cv_c_char_unsigned='no'}
> >>>+  ac_cv_file__proc_self_maps=${ac_cv_file__proc_self_maps='yes'}
> >>> fi
> >>>
> >>>******
> >>>
> >>>Cheers,
> >>>  Jari
> >>>
> >>>--
> >>> - Jari Korva -
> >>>  - jari.korva at iki.fi -
> >>>
> >>>_______________________________________________
> >>>kaffe mailing list
> >>>kaffe at kaffe.org
> >>>http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
> >>>
> >>
> >
> >  - Jari Korva -
> >   - jari.korva at iki.fi -
> >   - +358-40-756 4812 -
> >
> > _______________________________________________
> > kaffe mailing list
> > kaffe at kaffe.org
> > http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
> >
>
>


--
Rafael "Monoman" Teixeira
---------------------------------------
I'm trying to become a "Rosh Gadol" before my own eyes.
See http://www.joelonsoftware.com/items/2004/12/06.html for enlightment.
It hurts!




More information about the kaffe mailing list