Hi, I’m having troubles with gcj for a while now, and can’t find it. It’s not http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42409 : -rw-r--r-- 1 root root 10171111 Apr 4 07:37 /usr/share/java/libgcj-4.6.jar Nor is it http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45773 as the code from comment #16 (when compiled to .class on another system) works as it should.
How to reproduce? Boot up Debian/m68k, e.g. in a VM: https://wiki.debian.org/Aranym/Quick Run apt-get update if needed, then apt-get install gcj-4.{4,6}-jdk root@aranym:~ # cat >x.java class x { } root@aranym:~ # gcj-4.6 -c x.java -v -save-temps Using built-in specs. Reading specs from /usr/lib/gcc/m68k-linux-gnu/4.6/libgcj.spec rename spec startfile to startfileorig rename spec lib to liborig COLLECT_GCC=gcj-4.6 COLLECT_LTO_WRAPPER=/usr/lib/gcc/m68k-linux-gnu/4.6/lto-wrapper Target: m68k-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Debian 4.6.3-1' --with-bugurl=file:///usr/share/doc/gcj-4.6/README.Bugs --enable-languages=c,c++,java --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-time=yes --disable-libssp --disable-libmudflap --enable-plugin --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.6/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.6 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.6 --with-arch-directory=m68k --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-werror --disable-multilib --enable-checking=release --build=m68k-linux-gnu --host=m68k-linux-gnu --target=m68k-linux-gnu Thread model: posix gcc version 4.6.3 (Debian 4.6.3-1) COLLECT_GCC_OPTIONS='-fsaw-java-file' '-c' '-v' '-save-temps' '-fbootclasspath=./:/usr/share/java/libgcj-4.6.jar' '-g1' '-shared-libgcc' '-m68020' /usr/lib/gcc/m68k-linux-gnu/4.6/ecj1 x.java -g1 -fbootclasspath=./:/usr/share/java/libgcj-4.6.jar -g1 -fsource=1.5 -ftarget=1.5 -fzip-dependency x.zip -fzip-target x.jar Exception in thread "main" java.lang.NoClassDefFoundError: org.eclipse.jdt.internal.compiler.Compiler at org.eclipse.jdt.internal.compiler.batch.Main.performCompilation(eclipse-ecj.jar.so) at org.eclipse.jdt.internal.compiler.batch.Main.compile(eclipse-ecj.jar.so) at org.eclipse.jdt.internal.compiler.batch.GCCMain.compile(eclipse-ecj.jar.so) at org.eclipse.jdt.internal.compiler.batch.GCCMain.main(eclipse-ecj.jar.so) The really bad thing is, this used to work with gcj-4.4, which until some point was our standard gcj as per src:gcc-defaults, although, for some time before and after the switch to gcj-4.6 no package using Java was compiled, so the error was never detected. root@aranym:~ # gcj-4.4 -c x.java -v -save-temps Using built-in specs. Reading specs from /usr/lib/gcc/m68k-linux-gnu/4.4.7/libgcj.spec rename spec startfile to startfileorig rename spec lib to liborig Target: m68k-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Debian 4.4.7-1' --with-bugurl=file:///usr/share/doc/gcj-4.4/README.Bugs --enable-languages=c,c++,java --prefix=/usr --program-suffix=-4.4 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --libdir=/usr/lib --enable-nls --enable-clocale=gnu --disable-libssp --disable-libmudflap --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=//usr/lib/jvm/java-1.5.0-gcj-4.4/jre --enable-java-home --with-jvm-root-dir=//usr/lib/jvm/java-1.5.0-gcj-4.4 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.4 --with-arch-directory=m68k --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-werror --disable-multilib --enable-checking=release --build=m68k-linux-gnu --host=m68k-linux-gnu --target=m68k-linux-gnu Thread model: posix gcc version 4.4.7 (Debian 4.4.7-1) COLLECT_GCC_OPTIONS='-fsaw-java-file' '-c' '-v' '-save-temps' '-fbootclasspath=./:/usr/share/java/libgcj-4.4.jar' '-g1' '-shared-libgcc' '-m68020' /usr/lib/gcc/m68k-linux-gnu/4.4.7/ecj1 x.java -g1 -fbootclasspath=./:/usr/share/java/libgcj-4.4.jar -g1 -fsource=1.5 -ftarget=1.5 -fzip-dependency x.zip -fzip-target x.jar Exception in thread "main" java.lang.NoClassDefFoundError: org.eclipse.jdt.internal.compiler.Compiler at org.eclipse.jdt.internal.compiler.batch.Main.performCompilation(eclipse-ecj.jar.so) at org.eclipse.jdt.internal.compiler.batch.Main.compile(eclipse-ecj.jar.so) at org.eclipse.jdt.internal.compiler.batch.GCCMain.compile(eclipse-ecj.jar.so) at org.eclipse.jdt.internal.compiler.batch.GCCMain.main(eclipse-ecj.jar.so) 1|root@aranym:~ # ls -l /usr/share/java/libgcj-4.4.jar -rw-r--r-- 1 root root 10165790 Mar 13 19:45 /usr/share/java/libgcj-4.4.jar So, something is wrong with ecj, but that *also* was not recompiled. I’ve tried running it with strace (which in itself is a PITA on m68k as it’s slow as hell due to the TLS emulation used) but was unable to spot anything pointing to it looking in wrong places. If someone has an idea how to debug this, you’re welcome. gcj-4.7 FTBFS’d the last time I tried to build it, but as of writing this I’ve started to try to compile its latest version, since there have been uploads in the meantime, maybe it got fixed… but maybe it would have the same problem… anyway, the compile’s going to take 3 (yes, three) days, so, in the meantime, please look at this. Thanks, //mirabilos -- Solange man keine schmutzigen Tricks macht, und ich meine *wirklich* schmutzige Tricks, wie bei einer doppelt verketteten Liste beide Pointer XORen und in nur einem Word speichern, funktioniert Boehm ganz hervorragend. -- Andreas Bogk über boehm-gc in d.a.s.r -- To UNSUBSCRIBE, email to debian-java-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/pine.bsm.4.64l.1205061447150.15...@herc.mirbsd.org