compilation problems with ecj.jar
Marco Trudel
mtrudel@gmx.ch
Wed Jan 17 22:09:00 GMT 2007
Andrew,
Andrew Haley wrote:
> The *real* cause is that, for some reason, gcj isn't being passed the
> correct path to libgcj.jar in the host system. Instead, this happens:
>
> jc1 /mnt/zebedee/aph/gcc/trunk/libjava/.././libjava/../ecj.jar \
> -fhash-synchronization \
> -fno-use-divide-subroutine \
> -fuse-boehm-gc \
> -fnon-call-exceptions \
> -fkeep-inline-functions \
> -quiet \
> -dumpbase ecj.jar \
> -mtune=generic \
> -auxbase ecj \
> -g \
> -O2 \
> -version \
> -ffloat-store \
> -fomit-frame-pointer \
> -findirect-dispatch \
> -fbootclasspath=./:/tmp/prefix/share/java/libgcj-4.3.0.jar \
> -o /tmp/ccD80X4c.s
>
> Note that the bootclasspath at this point is wrong: there's no
> libgcj.jar in the install dir yet. The first "./" item in the string
> is wrong because the .class files we need are no longer in the build
> dir: they're in the srcdir.
>
> This oughta do it:
>
> Index: Makefile.am
> ===================================================================
> --- Makefile.am (revision 120638)
> +++ Makefile.am (working copy)
> @@ -670,7 +670,7 @@
> ecjx_LDFLAGS = $(ECJX_BASE_FLAGS) -Djava.class.path=$(ECJ_JAR)
> else !ENABLE_SHARED
> ## Use ecj.jar at compile time.
> -ecjx_LDFLAGS = $(ECJX_BASE_FLAGS) $(ECJ_BUILD_JAR)
> +ecjx_LDFLAGS = $(ECJX_BASE_FLAGS) $(ECJ_BUILD_JAR) -fbootclasspath=$(BOOTCLASSPATH)
> endif !ENABLE_SHARED
>
> ecjx_LDADD = -L$(here)/.libs libgcj.la
>
Can you commit that patch? With it, a static compilation of GCJ for
Linux works on a 32bit computer. Just want to make sure that it won't be
forgotten.
thanks
Marco
More information about the Java-patches
mailing list