This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: compilation problems with ecj.jar


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

Andrew.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]