This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
Re: gcj: error trying to exec 'ecj1': execvp
David Michel wrote:
> Hi All,
>
> I recently installed the newest gcj 4.4 (see
> http://gcc.gnu.org/ml/java/2009-03/msg00028.html) and I am trying to
> compile a awt/swing project.
>
> As I have an older version of gcj (4.2) installed on the system, I
> call gcj with its complete path and I updated LD_LIBRARY_PATH such as
>
> $ echo $LD_LIBRARY_PATH
> :/usr/local/lib/:/local/gcc-4_4-branch/install/lib/
>
> So I'm trying to compile foo.java into its object file foo.o like so:
>
> $ /local/gcc-4_4-branch/install/bin/gcj -O0 -g0 -v -c foo.java -o foo.o
> Using built-in specs.
> Reading specs from
> /local/gcc-4_4-branch/install/lib/gcc/i686-pc-linux-gnu/4.4.0/../../../libgcj.spec
> rename spec startfile to startfileorig
> rename spec lib to liborig
> Target: i686-pc-linux-gnu
> Configured with:
> /home/micd/gcc-4_4-branch/obj-x86_64-unknown-linux-gnu/../configure
> --enable-languages=java --prefix=/local/gcc-4_4-branch/install
> --enable-java-home --enable-java-awt=gtk
> Thread model: posix
> gcc version 4.4.0 20090331 (prerelease) (GCC)
> COLLECT_GCC_OPTIONS='-fsaw-java-file' '-O0' '-g0' '-v' '-c' '-o'
> 'foo.o' '-fbootclasspath=./:/local/gcc-4_4-branch/install/share/java/libgcj-4.4.0.jar'
> '-shared-libgcc' '-mtune=generic'
> ecj1 foo.java -g0
> -fbootclasspath=./:/local/gcc-4_4-branch/install/share/java/libgcj-4.4.0.jar
> -g0 -fsource=1.5 -ftarget=1.5 -fzip-dependency /tmp/cc3BLQiG.zip
> -fzip-target /tmp/ccQkVPqc.jar
> gcj: error trying to exec 'ecj1': execvp: No such file or directory
>
> How can I solve this ? Isn't ecj a reference to the Eclipse java
> compiler (what is it doing with gcc) ? and what is execvp ?
http://gcc.gnu.org/install/configure.html:
--with-ecj-jar=filename This option can be used to specify the
location of an external jar file containing the Eclipse Java
compiler. A specially modified version of this compiler is used by
gcj to parse .java source files. If this option is given, the
`libjava' build will create and install an ecj1 executable which
uses this jar file at runtime.
If this option is not given, but an ecj.jar file is found in the
topmost source tree at configure time, then the `libgcj' build
will create and install ecj1, and will also install the discovered
ecj.jar into a suitable place in the install tree.
If ecj1 is not installed, then the user will have to supply one on
his path in order for gcj to properly parse .java source files. A
suitable jar is available from ftp://sourceware.org/pub/java/.
Andrew.