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