Testing GCJ in Linux RedHat!

Oscar Martinez de la Torre omt at wm.estec.esa.nl
Thu Feb 24 17:15:20 UTC 2000


Hello!

	I'm trying to run JAVA in ERC32 (a space microprocessor like "sparc")
	I'm trying Kaffe + RTEMS (A RTOS which works on ERC32)
	But as I'm finding lots of problems in it (any suggestions is welcome)
	I'm also trying GCJ approach!

	There is a RPM with gcj but no libgcj:
	sparc-rtems-gcj-gcc2.95.2newlib1.8.2-2.i386.rpm
	
	But what I have got is this:
/opt/rtems/bin/sparc-rtems-gcj HelloWorldApp.java
/opt/rtems/sparc-rtems/bin/ld: warning: cannot find entry symbol _start;
defaulting to 00010094
/tmp/ccAPF0Ls.o: In function `HelloWorldApp::HelloWorldApp(void)':
/home/omt/GCJ/HelloWorldApp.java(.text+0x10): undefined reference to
`java::lang::Object::Object(void)'
/tmp/ccAPF0Ls.o: In function
`HelloWorldApp::main(JArray<java::lang::String *> *)':
/home/omt/GCJ/HelloWorldApp.java:2: undefined reference to
`_Jv_InitClass'
/home/omt/GCJ/HelloWorldApp.java:3: undefined reference to
`_CL_Q34java4lang6System'
/home/omt/GCJ/HelloWorldApp.java:3: undefined reference to
`_CL_Q34java4lang6System'
/home/omt/GCJ/HelloWorldApp.java:3: undefined reference to
`_Jv_InitClass'
/home/omt/GCJ/HelloWorldApp.java:3: undefined reference to
`java::lang::System::out'
/home/omt/GCJ/HelloWorldApp.java:3: undefined reference to
`java::lang::System::out'
/tmp/ccAPF0Ls.o: In function `global constructors keyed to
HelloWorldApp::HelloWorldApp(void)':
/home/omt/GCJ/HelloWorldApp.java(.text+0x90): undefined reference to
`_Jv_RegisterClass'
/tmp/ccAPF0Ls.o: In function
`HelloWorldApp::main(JArray<java::lang::String *> *)':
/home/omt/GCJ/HelloWorldApp.java:2: undefined reference to
`java::lang::Object::clone(void)'
/home/omt/GCJ/HelloWorldApp.java:2: undefined reference to
`java::lang::Object::equals(java::lang::Object *)'
/home/omt/GCJ/HelloWorldApp.java:2: undefined reference to
`java::lang::Object::finalize(void)'
/home/omt/GCJ/HelloWorldApp.java:2: undefined reference to
`java::lang::Object::hashCode(void)'
/home/omt/GCJ/HelloWorldApp.java:3: undefined reference to
`java::lang::Object::toString(void)'
/home/omt/GCJ/HelloWorldApp.java:3: undefined reference to
`java::lang::Class virtual table'
/home/omt/GCJ/HelloWorldApp.java:3: undefined reference to
`_CL_Q34java4lang6Object'
collect2: ld returned 1 exit status

	Also, it seems that libgcj is no so easy to port and crosscompile!

	I have also tried GCJ in a RedHat Linux i386 machine by converting deb
to rpm with alien!

gcj-2.95.2-7.i386.rpm  gcj_2.95.2-6.deb libgcj0-2.95.1-4.i386.rpm 
libgcj0_2.95.1-3.deb

	Also I had to set a suitable location for some libraries and files...

	At the end, I have got this:

gcj HelloWorldApp.java  
/usr/lib/crt1.o(.text+0x18): undefined reference to `main'
/usr/lib/gcc-lib/i386-linux/2.95.2/libgcj.so: undefined reference to
`__rethrow'
/usr/lib/gcc-lib/i386-linux/2.95.2/libgcj.so: undefined reference to
`__start_cp_handler'

	
	Any suggestions, experiences using GCJ / libgcj or
	also running Java on RTEMS will be welcome!

Thanks,
									Oscar

- 
Óscar Martínez de la Torre -  Office Phone: +31-(0)71.565.5844
Telecommunication Engineer at Universidad Politécnica de Madrid 
European Space Agency ESTEC/TOS/EMS Erasmus Building Office Nb212 
Keplerlaan,1 - NL 2201 AZ - Noordwijk ZH - The Netherlands
Mail: omt at wm.estec.esa.nl - Personal Mail: omt at etsit.upm.es



More information about the users mailing list