Re: Problems building classpath on MIPS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2009/3/17 Manuel Lauss <mano@xxxxxxxxxxxxxxxxxxxxxxx>:
> On Mon, Mar 16, 2009 at 11:32:10PM +0000, Andrew John Hughes wrote:
>> 2009/3/16 Manuel Lauss <mano@xxxxxxxxxxxxxxxxxxxxxxx>:
>> > On Mon, Mar 16, 2009 at 09:13:18AM +0000, Andrew Haley wrote:
>> >> Manuel Lauss wrote:
>> >>
>> >> >
>> >> > Did I miss any prerequisites?
>> >> > Any help is very much appreciated!
>> >>
>> >> Well, what are you trying to do? ??GNU Classpath usually has to be
>> >> customized for whatever runtime it's going to be running on. ??So,
>> >> what runtime will you use?
>> >
>> > Is that documented somewhere? ??I assume by runtime you mean the VM.
>> > In this case, the target is cacaovm (although I'm flexible here)
>> >
>> >
>> >> Andrew.
>> >
>> > Thanks!
>> > ?? ?? ?? ??Manuel Lauss
>> >
>> >
>>
>> CACAO is a good choice, it should work just fine with an uncustomised
>> copy of GNU Classpath.
>>
>> It seems that configure is defaulting to using gcj to compile and for
>> some reason, this is failing.  From your output, it seems like gcj is
>> trying to compile more than just the Test.java file and is actually
>> trying to compile a lot of the GNU Classpath sourcecode during the
>> configure process!  The thing to try first is to build outside the
>> source directory:
>>
>> cd ..
>> mkdir classpath-build
>> cd classpath-build
>> CFLAGS="-O2 -mips32 -msoft-float" ../classpath-0.98/configure
>> --prefix=/opt/classpath --build=mipsel-softfloat-linux-gnu
>> --host=mipsel-softfloat-linux-gnu --target=mipsel-softfloat-linux-gnu
>> --disable-gconf-peer --disable-gtk-peer --disable-plugin --enable-gmp
>> --enable-regen-headers --enable-static --enable-shared --disable-rpath
>> --with-gnu-ld
>>
>> If this works, let us know; it may be that there is a bug with using
>> gcj for in-tree compiles.  There was a similar issue for older
>> versions of javac.
>
> Yes it does!

Good.

However the following "gij Test" aborts with value 134;
> (it segfaults on a futex() call and is finally killed with SIGIOT).
>

Ok, as Andrew says, it sounds like something is very broken in your
installation of gcj.  But this has nothing to do with the copy of GNU
Classpath you just built.  GCJ carries its own modified version of GNU
Classpath.
What you need to do next (other than possibly fixing your gcj install)
is build CACAO against the GNU Classpath you built so it can be used.

>
>> More generally, the fact that gcj is being used as the compiler
>> implies that it has already failed to find either ecj or javac.  You
>> can explicitly set the compiler to use by setting the JAVAC
>> environment variable in the same way you set CFLAGS.
>>
>> Note that Classpath has the option to just compile the native code.
>> You can then build the Java code on any box (you'll probably find this
>> easier on an x86 box for example).  Check the --with-glibj option.
>
> Will do.
>
>
>> As you're on Gentoo, it may be worth checking out the GNU Classpath
>> and CACAO ebuilds in the java-overlay (available via layman).  We'd
>> appreciate the testing on mips!
>
> I tried the versions in the portage tree initially, but portage has an
> unhealthy fixation on x86 (i.e. dependencies and keywords prohibit building
> most java stuff on mips).  I'll try to get the overlay you mentioned and
> massage things a bit.
>

I don't know anything about the in-tree versions.  0.98 is in the
overlay though, and if you can use it successfully, then I can commit
the appropriate ~mips or whatever flag to it.

>
> Thank you very much!
>        Manuel Lauss
>

Thanks for testing,
-- 
Andrew :-)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

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

PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint: F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8



[Index of Archives]     [Linux Kernel]     [Linux Cryptography]     [Fedora]     [Fedora Directory]     [Red Hat Development]

  Powered by Linux