Re: error trying to exec 'ecj1': execvp: No such file or directory
Jie Liu <[email protected]>
| Newsgroups | gmane.comp.gcc.java.devel |
|---|---|
| Message-ID | <BANLkTin1Nzi0_Cpx6xQAD+0ve31x0nSPNYVJSUetww2Bd_m2KQ@mail.gmail.com> |
2011/6/3 Dr Andrew John Hughes <[email protected]>: > On 21:42 Fri 03 Jun , Jie Liu wrote: >> Hi, >> >> I am trying to port gcj to RTEMS now and have got boehm-gc, libffi, >> libjava compiled for RTEMS. But when I try to use i386-rtems-gcj to >> compile HelloWorld for RTEMS after install, I got "error trying to >> exec 'ecj1': execvp: No such file or directory" and don't know how to >> fix it. Could somebody give me an help hand or an advice ? Very >> Thanks. >> >> The error information can be seen below: >> i386-rtems-gcj -v --main=HelloWorld HelloWorld.java -o Hello >> Using built-in specs. >> Reading specs from /mnt/gcj/mytoolchain/lib/gcc/i386-rtems/4.7.0/libgcj.spec >> rename spec startfile to startfileorig >> rename spec lib to liborig >> COLLECT_GCC=i386-rtems-gcj >> COLLECT_LTO_WRAPPER=/mnt/gcj/mytoolchain/libexec/gcc/i386-rtems/4.7.0/lto-wrapper >> Target: i386-rtems >> Configured with: ../gcc-trunk/configure --enable-threads=rtems >> --with-gnu-as --enable-multilib --enable-newlib-mb >> --enable-newlib-iconv --with-gnu-ld --with-newlib --verbose >> --with-system-zlib --disable-nls >> --enable-version-specific-runtime-libs --enable-languages=c,c++,java >> --target=i386-rtems --prefix=/mnt/gcj/mytoolchain/ >> --with-gmp=/mnt/gcj/gcj-rtems-work/gmpmpfrmpc >> --with-mpfr=/mnt/gcj/gcj-rtems-work/gmpmpfrmpc >> --with-mpc=/mnt/gcj/gcj-rtems-work/gmpmpfrmpc >> Thread model: rtems >> gcc version 4.7.0 20110409 (experimental) (GCC) >> COLLECT_GCC_OPTIONS='-fsaw-java-file' '-v' '-o' 'Hello' >> '-fbootclasspath=./:/mnt/gcj/mytoolchain/share/java/libgcj-4.7.0.jar' >> '-g1' '-mtune=i386' '-march=i386' >> ecj1 HelloWorld.java -g1 >> -fbootclasspath=./:/mnt/gcj/mytoolchain/share/java/libgcj-4.7.0.jar >> -g1 -fsource=1.5 -ftarget=1.5 -fzip-dependency /tmp/ccuWIrFF.zip >> -fzip-target /tmp/cc7in4l3.jar >> i386-rtems-gcj: error trying to exec 'ecj1': execvp: No such file or directory >> make: *** [Hello] Error 1 >> >> Best Regards, >> Jie > > Did you supply the build with an ecj.jar? contrib/download_ecj will obtain one > for you. ecj1 is a natively compiled ecj binary used by gcj to compile Java > source code to bytecode: > > $ file /home/andrew/build/gcj/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/ecj1 > /home/andrew/build/gcj/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/ecj1: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped > > -- > Andrew :) > > Free Java Software Engineer > Red Hat, Inc. (http://www.redhat.com) > > Support Free Java! > Contribute to GNU Classpath and IcedTea > http://www.gnu.org/software/classpath > http://icedtea.classpath.org > PGP Key: F5862A37 (https://keys.indymedia.org/) > Fingerprint = EA30 D855 D50F 90CD F54D 0698 0713 C3ED F586 2A37 > Thank you very much, Andrew. :) I have got my cross ecj1 under your help. [rtems@localhost libjava]$ file /mnt/gcj/mytoolchain/libexec/gcc/i386-rtems/4.7.0/ecj1 /mnt/gcj/mytoolchain/libexec/gcc/i386-rtems/4.7.0/ecj1: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, not stripped But when I run this ecj1, an error occurred: [rtems@localhost libjava]$ /mnt/gcj/mytoolchain/libexec/gcc/i386-rtems/4.7.0/ecj1 Exception in thread "main" java.lang.NoClassDefFoundError: org.eclipse.jdt.internal.compiler.batch.GCCMain at gnu.java.lang.MainThread.run(libgcj.so.11) Caused by: java.lang.ClassNotFoundException: org.eclipse.jdt.internal.compiler.batch.GCCMain not found in gnu.gcj.runtime.SystemClassLoader{urls=[file:./], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}} at java.net.URLClassLoader.findClass(libgcj.so.11) at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.11) at java.lang.ClassLoader.loadClass(libgcj.so.11) at java.lang.ClassLoader.loadClass(libgcj.so.11) at gnu.java.lang.MainThread.run(libgcj.so.11) While the local ecj1 is running well : [rtems@localhost test]$ /usr/libexec/gcc/i686-redhat-linux/4.5.1/ecj1 [rtems@localhost test]$ Is there someone who has encountered the same question? Any reply will be welcome. Best Regards, Jie