error trying to exec 'ecj1': execvp: No such file or directory
Jie Liu
lj8175@gmail.com
Sun Jun 5 07:38:00 GMT 2011
2011年6月5日 Jie Liu <lj8175@gmail.com>:
> 2011年6月3日 Dr Andrew John Hughes <ahughes@redhat.com>:
>> 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
>
More information about the Java
mailing list