Classpath 0.96: Update

2007-10-08 Thread Andrew John Hughes
Hi everyone,

Current regressions are as follows:

+FAIL: java.awt.TextArea.ScrollbarPaintTest
+FAIL: java.awt.ScrollPane.ScrollbarPaintTest
+FAIL: java.awt.Scrollbar.ScrollbarPaintTest
+FAIL: java.awt.Component.keyPressTest
+FAIL: javax.net.ssl.SSLEngine.TestHandshake
+FAIL: javax.swing.JTree.getCellRenderer

Can someone who knows these classes please take a look?

Cheers,
-- 
Andrew :)




Problems bulding classpath 0.93 on ARM5

2007-10-08 Thread Larry Suto
Hi I am trying to get classpath .93 compiled for a Marvell ARM5
processor.I can compile in the scratchbox crosscompile environment
without any problems...but if  copy the classpath files over to the native
environmentI get this error from jamvm

sh-2.05b# ./gjar
Cannot create system class loader
Exception occured while printing exception
(java/lang/NoClassDefFoundError)...
Original exception was java/lang/UnsatisfiedLinkError


I am using --with-jni


When I try to compile this classpath natively on the box ...I get this error
:


make[3]: Entering directory `/classpath-0.93/native/jni'
cd ../.. && /bin/sh ./scripts/check_jni_methods.sh
Found a problem with the JNI methods declared and implemented.
(-) missing in implementation, (+) missing in header files
-Java_java_lang_VMSystem_arraycopy
-Java_java_lang_VMSystem_identityHashCode
make[3]: *** [all-local] Error 1
make[3]: Leaving directory `/classpath-0.93/native/jni'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/classpath-0.93/native/jni'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/classpath-0.93/native'
make: *** [all-recursive] Error 1

Any info would be appreciated.

Thanks,

Larry


Re: Problems bulding classpath 0.93 on ARM5

2007-10-08 Thread Christian Thalinger
On Mon, 2007-10-08 at 01:42 -0700, Larry Suto wrote:
> Hi I am trying to get classpath .93 compiled for a Marvell ARM5
> processor.I can compile in the scratchbox crosscompile environment
> without any problems...but if  copy the classpath files over to the
> native environmentI get this error from jamvm 
> 
> sh-2.05b# ./gjar
> Cannot create system class loader
> Exception occured while printing exception
> (java/lang/NoClassDefFoundError)...
> Original exception was java/lang/UnsatisfiedLinkError

Can you run JamVM with -verbose:jni to see which native method is
failing?

- twisti




Re: Problems bulding classpath 0.93 on ARM5

2007-10-08 Thread Robert Lougher
Hi,

On 10/8/07, Christian Thalinger <[EMAIL PROTECTED]> wrote:
> On Mon, 2007-10-08 at 01:42 -0700, Larry Suto wrote:
> > Hi I am trying to get classpath .93 compiled for a Marvell ARM5
> > processor.I can compile in the scratchbox crosscompile environment
> > without any problems...but if  copy the classpath files over to the
> > native environmentI get this error from jamvm
> >
> > sh-2.05b# ./gjar
> > Cannot create system class loader
> > Exception occured while printing exception
> > (java/lang/NoClassDefFoundError)...
> > Original exception was java/lang/UnsatisfiedLinkError
>
> Can you run JamVM with -verbose:jni to see which native method is
> failing?
>
> - twisti
>

Could you also provide details of how you configured/built JamVM and Classpath?

In general, there are two common problems people have when
cross-compiling JamVM :

1) They configure JamVM/Classpath on the host to install in one place,
and then copy the files to somewhere else on the target.  This doesn't
work, because JamVM builds at compile time default boot class and
library paths based on where it was configured to be installed.

By default, JamVM is installed in /usr/local/jamvm, and Classpath
/usr/local/classpath.  You can change the place using --prefix=xxx
when running configure.  If you also move Classpath, you need to tell
JamVM this by using the --with-classpath-install-dir=xxx configure
option (this should be set to the --prefix value you gave to
Classpath's configure).

You can also override the defaults at runtime, e.g.

jamvm -Xbootclasspath:/path/to/JamVMs/classes.zip:/path/to/Classpaths/glibj.zip
-Dgnu.classpath.boot.library.path=/path/to/Classpaths/lib/dir ...

2) Copying Classpath onto a fat/vfat formatted device.

When Classpath is built, libtool creates library names with version
numbers in them, and creates symbolic links for shorter forms (from
memory) :

libX.so.0.0.0
libX.so.0 -> libX.so.0.0
libX.so -> libX.so.0

The problem is fat/vfat does not support symbolic links, so the short
forms are lost when Classpath is copied onto it.

Either:

a) For each library in .../classpath/llib/classpath rename
libX.so.0.0.0 to libX.so

or,

b) Use tar and the -h option to follow the sybolic links.  However,
this will create 3 versions of each library when you unpack, so you
should delete the libX.so.0, and libX.so.0.0 versions.


Hope this helps,

Rob.



Re: Problems bulding classpath 0.93 on ARM5

2007-10-08 Thread Christian Thalinger
On Mon, 2007-10-08 at 02:07 -0700, Larry Suto wrote:
> Hi Thanks,
> 
> This is what I get:
> 
> 
> sh-2.05b# ./jamvm  -verbose:jni Test.class
> [Dynamic-linking native method
> gnu.classpath.VMStackWalker.getCallingClassLoader
>  ... internal]
> [Dynamic-linking native method java.lang.VMClass.forName ... internal]
> [Dynamic-linking native method java.lang.VMClass.getComponentType ...
> internal]
> [Dynamic-linking native method
> java.lang.VMThrowable.fillInStackTrace ... intern
> al]
> [Dynamic-linking native method
> java.lang.VMClassLoader.getBootClassPathSize ...
> internal]
> [Dynamic-linking native method
> java.lang.VMClassLoader.getBootClassPathResource
> ... internal]
> [Dynamic-linking native method
> gnu.classpath.VMSystemProperties.preInit ... inte
> rnal]
> [Dynamic-linking native method java.lang.VMSystem.arraycopy ...
> internal]
> [Dynamic-linking native method
> gnu.classpath.VMSystemProperties.postInit ... int
> ernal]
> [Dynamic-linking native method java.lang.VMObject.clone ... internal]
> [Dynamic-linking native method java.lang.VMRuntime.mapLibraryName ...
> internal]
> [Dynamic-linking native method java.lang.VMRuntime.nativeLoad ...
> internal]
> Cannot create system class loader 
> Exception occured while printing exception
> (java/lang/NoClassDefFoundError)...
> Original exception was java/lang/UnsatisfiedLinkError

Looks like your native libraries are in the wrong place, as Robert
wrote.

- twisti

PS: Please also reply to the list.



Re: Problems bulding classpath 0.93 on ARM5

2007-10-08 Thread Larry Suto
Thanks for the infoI am compiling with the defaults and when I copy the
files over to the target I am placing them in a linux filesystem at the
default locations and then I nfs mount it to the target and the I chroot .
in the mounted directory so it seems like I have the files in the default
location

I tried the override and it seems like it went further:

./jamvm -Xbootclasspath:/usr/local/jamvm/share/jamvm:/usr/local/classp
ath/share/classpath -
Dgnu.classpath.boot.library.path=/usr/local/classpath/lib/c
lasspath Test
Exception occurred while VM initialising.
java/lang/NoClassDefFoundError: java/lang/Thread

for jamvm I use ./configure
for classpath I use ./configure --with-jikes --enable-jni --disable-gtk-peer
--disable-gconf-peer --disable-plugin

On 10/8/07, Robert Lougher <[EMAIL PROTECTED]> wrote:
>
> Hi,
>
> On 10/8/07, Christian Thalinger <[EMAIL PROTECTED]> wrote:
> > On Mon, 2007-10-08 at 01:42 -0700, Larry Suto wrote:
> > > Hi I am trying to get classpath .93 compiled for a Marvell ARM5
> > > processor.I can compile in the scratchbox crosscompile environment
> > > without any problems...but if  copy the classpath files over to the
> > > native environmentI get this error from jamvm
> > >
> > > sh-2.05b# ./gjar
> > > Cannot create system class loader
> > > Exception occured while printing exception
> > > (java/lang/NoClassDefFoundError)...
> > > Original exception was java/lang/UnsatisfiedLinkError
> >
> > Can you run JamVM with -verbose:jni to see which native method is
> > failing?
> >
> > - twisti
> >
>
> Could you also provide details of how you configured/built JamVM and
> Classpath?
>
> In general, there are two common problems people have when
> cross-compiling JamVM :
>
> 1) They configure JamVM/Classpath on the host to install in one place,
> and then copy the files to somewhere else on the target.  This doesn't
> work, because JamVM builds at compile time default boot class and
> library paths based on where it was configured to be installed.
>
> By default, JamVM is installed in /usr/local/jamvm, and Classpath
> /usr/local/classpath.  You can change the place using --prefix=xxx
> when running configure.  If you also move Classpath, you need to tell
> JamVM this by using the --with-classpath-install-dir=xxx configure
> option (this should be set to the --prefix value you gave to
> Classpath's configure).
>
> You can also override the defaults at runtime, e.g.
>
> jamvm
> -Xbootclasspath:/path/to/JamVMs/classes.zip:/path/to/Classpaths/glibj.zip
> -Dgnu.classpath.boot.library.path=/path/to/Classpaths/lib/dir ...
>
> 2) Copying Classpath onto a fat/vfat formatted device.
>
> When Classpath is built, libtool creates library names with version
> numbers in them, and creates symbolic links for shorter forms (from
> memory) :
>
> libX.so.0.0.0
> libX.so.0 -> libX.so.0.0
> libX.so -> libX.so.0
>
> The problem is fat/vfat does not support symbolic links, so the short
> forms are lost when Classpath is copied onto it.
>
> Either:
>
> a) For each library in .../classpath/llib/classpath rename
> libX.so.0.0.0 to libX.so
>
> or,
>
> b) Use tar and the -h option to follow the sybolic links.  However,
> this will create 3 versions of each library when you unpack, so you
> should delete the libX.so.0, and libX.so.0.0 versions.
>
>
> Hope this helps,
>
> Rob.
>


Re: Problems bulding classpath 0.93 on ARM5

2007-10-08 Thread Robert Lougher
Hi Larry,

On 10/8/07, Larry Suto <[EMAIL PROTECTED]> wrote:
> Thanks for the infoI am compiling with the defaults and when I copy the
> files over to the target I am placing them in a linux filesystem at the
> default locations and then I nfs mount it to the target and the I chroot .
> in the mounted directory so it seems like I have the files in the default
> location
>
> I tried the override and it seems like it went further:
>
> ./jamvm
> -Xbootclasspath:/usr/local/jamvm/share/jamvm:/usr/local/classp
> ath/share/classpath
> -Dgnu.classpath.boot.library.path=/usr/local/classpath/lib/c
> lasspath Test
> Exception occurred while VM initialising.
> java/lang/NoClassDefFoundError: java/lang/Thread
>

No, java.lang.Thread is the first class JamVM attempts to load, so
it's failed almost immediately.  It looks like you've specified the
bootclasspath wrong...  Have a look in /usr/local/jamvm/share/jamvm
and /usr/local/classpath/share/classpath.  The classes should be in
classes.zip and glibj.zip.  This needs to be specified (i.e.
-Xbootclasspath:/usr/local/jamvm/share/jamvm/classes.zip:/usr/local/classpath/share/classpath/glibj.zip).

But this is irrelevant.  By using chroot the classes should look like
they're in the right place anyway.

My guess would be that JamVM is finding the library correctly, but a
dependency is failing, so the dlopen fails.  You'll need to add a
debug printf to discover the cause.

In jamvm/src/os/linux/os.c

change:

void *nativeLibOpen(char *path) {
return dlopen(path, RTLD_LAZY);
}

to

void *nativeLibOpen(char *path) {
void *ret;

printf(" NATIVE LIB OPEN %s\n", path);

ret = dlopen(path, RTLD_LAZY);

if(ret == NULL)
printf("DLOPEN FAILED %s\n", dlerror());

return ret;
}


Also, when running the test, please add -verbose -verbose:jni this
will indicate whether JamVM is finding the boot classes, and what JNI
methods it's trying to call.

Rob.

> for jamvm I use ./configure
> for classpath I use ./configure --with-jikes --enable-jni --disable-gtk-peer
> --disable-gconf-peer --disable-plugin
>
>
> On 10/8/07, Robert Lougher <[EMAIL PROTECTED]> wrote:
> > Hi,
> >
> > On 10/8/07, Christian Thalinger <[EMAIL PROTECTED]> wrote:
> > > On Mon, 2007-10-08 at 01:42 -0700, Larry Suto wrote:
> > > > Hi I am trying to get classpath .93 compiled for a Marvell ARM5
> > > > processor.I can compile in the scratchbox crosscompile environment
> > > > without any problems...but if  copy the classpath files over to the
> > > > native environmentI get this error from jamvm
> > > >
> > > > sh-2.05b# ./gjar
> > > > Cannot create system class loader
> > > > Exception occured while printing exception
> > > > (java/lang/NoClassDefFoundError)...
> > > > Original exception was java/lang/UnsatisfiedLinkError
> > >
> > > Can you run JamVM with -verbose:jni to see which native method is
> > > failing?
> > >
> > > - twisti
> > >
> >
> > Could you also provide details of how you configured/built JamVM and
> Classpath?
> >
> > In general, there are two common problems people have when
> > cross-compiling JamVM :
> >
> > 1) They configure JamVM/Classpath on the host to install in one place,
> > and then copy the files to somewhere else on the target.  This doesn't
> > work, because JamVM builds at compile time default boot class and
> > library paths based on where it was configured to be installed.
> >
> > By default, JamVM is installed in /usr/local/jamvm, and Classpath
> > /usr/local/classpath.  You can change the place using --prefix=xxx
> > when running configure.  If you also move Classpath, you need to tell
> > JamVM this by using the --with-classpath-install-dir=xxx
> configure
> > option (this should be set to the --prefix value you gave to
> > Classpath's configure).
> >
> > You can also override the defaults at runtime, e.g.
> >
> > jamvm
> -Xbootclasspath:/path/to/JamVMs/classes.zip:/path/to/Classpaths/glibj.zip
> >
> -Dgnu.classpath.boot.library.path=/path/to/Classpaths/lib/dir
> ...
> >
> > 2) Copying Classpath onto a fat/vfat formatted device.
> >
> > When Classpath is built, libtool creates library names with version
> > numbers in them, and creates symbolic links for shorter forms (from
> > memory) :
> >
> > libX.so.0.0.0
> > libX.so.0 -> libX.so.0.0
> > libX.so -> libX.so.0
> >
> > The problem is fat/vfat does not support symbolic links, so the short
> > forms are lost when Classpath is copied onto it.
> >
> > Either:
> >
> > a) For each library in .../classpath/llib/classpath rename
> > libX.so.0.0.0 to libX.so
> >
> > or,
> >
> > b) Use tar and the -h option to follow the sybolic links.  However,
> > this will create 3 versions of each library when you unpack, so you
> > should delete the libX.so.0, and libX.so.0.0 versions.
> >
> >
> > Hope this helps,
> >
> > Rob.
> >
>
>



Classpath 0.96 Imminent

2007-10-08 Thread Andrew John Hughes
Hi everyone,

Dalibor suggested it would be a good idea to set everyone a firm deadline for 
the release, so here we go.

* If you want your patch in the release, please commit it by:

 Wednesday 09:00 UTC.

My plan after that is to:

* Create a release branch (Mark, I know we discussed this earlier but I feel 
happier knowing the ground under my feet is not going to move...)
* Do a regression check and smoke tests (Eclipse, JEdit, help with other apps 
welcome)
* Assuming things look okay, we'll roll this into a release

I've flagged a few patches today that JikesRVM is currently patching the build 
with.  I'd be grateful if someone could look these over today or tomorrow.  
Or, at least scream if you don't want them committed.

I'm going to spend the rest of this evening and tomorrow dredging through the 
bug database and patches list further, and running some smoke tests.  
Hopefully we can have a release by Wednesday evening if all is well.

Anyone want to suggest a suitable name? ;)

Cheers,
-- 
Andrew :-)

Help end the Java Trap!
Contribute to GNU Classpath and the OpenJDK
http://www.gnu.org/software/classpath
http://openjdk.java.net


pgpMUojZNmYFG.pgp
Description: PGP signature


Re: Classpath 0.96 Imminent

2007-10-08 Thread Stuart Ballard
On 10/8/07, Andrew John Hughes <[EMAIL PROTECTED]> wrote:
> Anyone want to suggest a suitable name? ;)

"Staying Alive"?

Stuart.
-- 
http://sab39.netreach.com/



Re: Classpath 0.96 Imminent

2007-10-08 Thread Andrew John Hughes
On Monday 08 October 2007 20:26, Stuart Ballard wrote:
> On 10/8/07, Andrew John Hughes <[EMAIL PROTECTED]> wrote:
> > Anyone want to suggest a suitable name? ;)
>
> "Staying Alive"?
>
> Stuart.

That does seem appropriate :D

How are the JAPI runs made at the moment? It would be nice if there were 
IcedTea ones.  I'd also like a run against JikesRVM, if only a one off; there 
are some mismatches in the VM classes at present.

Thanks,
-- 
Andrew :-)

Help end the Java Trap!
Contribute to GNU Classpath and the OpenJDK
http://www.gnu.org/software/classpath
http://openjdk.java.net


pgpjg77nrwr1Q.pgp
Description: PGP signature


Re: Classpath 0.96 Imminent

2007-10-08 Thread Stuart Ballard
On 10/8/07, Andrew John Hughes <[EMAIL PROTECTED]> wrote:
> That does seem appropriate :D

After I posted that I realized that I could have made a Firefly
reference and suggested "Too pretty to die"... I don't know if any
Classpath hackers are browncoats though.

> How are the JAPI runs made at the moment? It would be nice if there were
> IcedTea ones.  I'd also like a run against JikesRVM, if only a one off; there
> are some mismatches in the VM classes at present.

I'm afraid I've been unforgivably lax in the Japi department lately;
the runs have been broken for a few weeks (since I blogged about it)
and I've never gotten around to figuring out why or fixing it. I
apologize. I don't want to make a commitment to fixing them within a
particular timeframe that I can't keep, though. I'll try to get to it
this week sometime, but I can't promise.

Are there nightly builds of IcedTea somewhere downloadable in binary
form? If so I'd be thrilled to be able to include those in the Japi
runs.

Stuart.
-- 
http://sab39.netreach.com/



Re: Classpath 0.96 Imminent

2007-10-08 Thread David Daney

Stuart Ballard wrote:

On 10/8/07, Andrew John Hughes <[EMAIL PROTECTED]> wrote:

Anyone want to suggest a suitable name? ;)


"Staying Alive"?



I like it.  Most excellent!

David Daney



Re: Classpath 0.96 Imminent

2007-10-08 Thread Mark Wielaard
Hi Andrew,

On Mon, 2007-10-08 at 20:11 +0100, Andrew John Hughes wrote:
> * Create a release branch (Mark, I know we discussed this earlier but I feel 
> happier knowing the ground under my feet is not going to move...)

Please do. I was just commenting on that I didn't feel the overhead was
really necessary since it does mean some double applying of patches to
branch and trunk. But if you feel better with a branch then please go
for it.

Thanks for picking this up!

Cheers,

Mark


signature.asc
Description: This is a digitally signed message part


Re: Problems bulding classpath 0.93 on ARM5

2007-10-08 Thread Larry Suto
Thanks,

I added the code and compiles on scratchbox...in that environement I get :
*** NATIVE LIB OPEN /usr/local/classpath/lib/classpath/libjavanio.so

The verbose output is attaches as txt. When I copy this over to the native
platform I now get cannot open binary file...I am verifiying that the code
changes you asked are doing this.


On 10/8/07, Robert Lougher <[EMAIL PROTECTED]> wrote:
>
> Hi Larry,
>
> On 10/8/07, Larry Suto <[EMAIL PROTECTED]> wrote:
> > Thanks for the infoI am compiling with the defaults and when I copy
> the
> > files over to the target I am placing them in a linux filesystem at the
> > default locations and then I nfs mount it to the target and the I chroot
> .
> > in the mounted directory so it seems like I have the files in the
> default
> > location
> >
> > I tried the override and it seems like it went further:
> >
> > ./jamvm
> > -Xbootclasspath:/usr/local/jamvm/share/jamvm:/usr/local/classp
> > ath/share/classpath
> > -Dgnu.classpath.boot.library.path=/usr/local/classpath/lib/c
> > lasspath Test
> > Exception occurred while VM initialising.
> > java/lang/NoClassDefFoundError: java/lang/Thread
> >
>
> No, java.lang.Thread is the first class JamVM attempts to load, so
> it's failed almost immediately.  It looks like you've specified the
> bootclasspath wrong...  Have a look in /usr/local/jamvm/share/jamvm
> and /usr/local/classpath/share/classpath.  The classes should be in
> classes.zip and glibj.zip.  This needs to be specified (i.e.
>
> -Xbootclasspath:/usr/local/jamvm/share/jamvm/classes.zip:/usr/local/classpath/share/classpath/glibj.zip).
>
> But this is irrelevant.  By using chroot the classes should look like
> they're in the right place anyway.
>
> My guess would be that JamVM is finding the library correctly, but a
> dependency is failing, so the dlopen fails.  You'll need to add a
> debug printf to discover the cause.
>
> In jamvm/src/os/linux/os.c
>
> change:
>
> void *nativeLibOpen(char *path) {
>return dlopen(path, RTLD_LAZY);
> }
>
> to
>
> void *nativeLibOpen(char *path) {
>void *ret;
>
>printf(" NATIVE LIB OPEN %s\n", path);
>
>ret = dlopen(path, RTLD_LAZY);
>
>if(ret == NULL)
>printf("DLOPEN FAILED %s\n", dlerror());
>
>return ret;
> }
>
>
> Also, when running the test, please add -verbose -verbose:jni this
> will indicate whether JamVM is finding the boot classes, and what JNI
> methods it's trying to call.
>
> Rob.
>
> > for jamvm I use ./configure
> > for classpath I use ./configure --with-jikes --enable-jni
> --disable-gtk-peer
> > --disable-gconf-peer --disable-plugin
> >
> >
> > On 10/8/07, Robert Lougher <[EMAIL PROTECTED]> wrote:
> > > Hi,
> > >
> > > On 10/8/07, Christian Thalinger <[EMAIL PROTECTED]> wrote:
> > > > On Mon, 2007-10-08 at 01:42 -0700, Larry Suto wrote:
> > > > > Hi I am trying to get classpath .93 compiled for a Marvell ARM5
> > > > > processor.I can compile in the scratchbox crosscompile
> environment
> > > > > without any problems...but if  copy the classpath files over to
> the
> > > > > native environmentI get this error from jamvm
> > > > >
> > > > > sh-2.05b# ./gjar
> > > > > Cannot create system class loader
> > > > > Exception occured while printing exception
> > > > > (java/lang/NoClassDefFoundError)...
> > > > > Original exception was java/lang/UnsatisfiedLinkError
> > > >
> > > > Can you run JamVM with -verbose:jni to see which native method is
> > > > failing?
> > > >
> > > > - twisti
> > > >
> > >
> > > Could you also provide details of how you configured/built JamVM and
> > Classpath?
> > >
> > > In general, there are two common problems people have when
> > > cross-compiling JamVM :
> > >
> > > 1) They configure JamVM/Classpath on the host to install in one place,
> > > and then copy the files to somewhere else on the target.  This doesn't
> > > work, because JamVM builds at compile time default boot class and
> > > library paths based on where it was configured to be installed.
> > >
> > > By default, JamVM is installed in /usr/local/jamvm, and Classpath
> > > /usr/local/classpath.  You can change the place using --prefix=xxx
> > > when running configure.  If you also move Classpath, you need to tell
> > > JamVM this by using the --with-classpath-install-dir=xxx
> > configure
> > > option (this should be set to the --prefix value you gave to
> > > Classpath's configure).
> > >
> > > You can also override the defaults at runtime, e.g.
> > >
> > > jamvm
> >
> -Xbootclasspath:/path/to/JamVMs/classes.zip:/path/to/Classpaths/glibj.zip
> > >
> > -Dgnu.classpath.boot.library.path=/path/to/Classpaths/lib/dir
> > ...
> > >
> > > 2) Copying Classpath onto a fat/vfat formatted device.
> > >
> > > When Classpath is built, libtool creates library names with version
> > > numbers in them, and creates symbolic links for shorter forms (from
> > > memory) :
> > >
> > > libX.so.0.0.0
> > > libX.so.0 -> libX.so.0.0
> > > libX.so -> libX.so.0
> > >
> > > The problem is fat/vfat does not