Re: error trying to exec 'ecj1': execvp: No such file or directory
Jie Liu <[email protected]>
| Newsgroups | gmane.comp.gcc.java.devel |
|---|---|
| Message-ID | <BANLkTi=jPpfgFj5Bi+Pw3Z00dJ+kFycWBRvQf6YC+8NgVJ-BXw@mail.gmail.com> |
2011/6/5 Jie Liu <[email protected]>: > 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]$ > Hi, This problem is fixed by export CLASSPATH:=.:/usr/share/java/ecj.jar --jie > Is there someone who has encountered the same question? Any reply will > be welcome. > > Best Regards, > Jie >