Package: java-gcj-compat-dev Version: 1.0.65-10 javac fails when run on an i386 Debian if the kernel is compiled for amd64:
$ /usr/lib/jvm/java-gcj/bin/javac obj/Test.java ---------- 1. ERROR in obj/Test.java (at line 1) /* #line 22113 "configure" */ ^ The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class files ---------- 1 problem (1 error) Comparison of `strace's for i386 and amd64 Debian has revealed the following suspicious syscall run on i386 Debian: access("/usr/lib32/jvm/java-1.4.2-gcj-4.1-1.4.2.0/jre", F_OK) = -1 ENOENT Apparently, javac deduces the path to its libraries from the platform the kernel was built for: $ uname -m x86_64 $ However, the actual architecture of the system (which should be taken into account) is different: $ dpkg-architecture DEB_BUILD_ARCH=i386 DEB_BUILD_ARCH_OS=linux DEB_BUILD_ARCH_CPU=i386 DEB_BUILD_GNU_CPU=i486 DEB_BUILD_GNU_SYSTEM=linux-gnu DEB_BUILD_GNU_TYPE=i486-linux-gnu DEB_HOST_ARCH=i386 DEB_HOST_ARCH_OS=linux DEB_HOST_ARCH_CPU=i386 DEB_HOST_GNU_CPU=i486 DEB_HOST_GNU_SYSTEM=linux-gnu DEB_HOST_GNU_TYPE=i486-linux-gnu $ This effectively prevents one from building the software `Build-Depend'ing on `java-gcj-compat-dev' for i386 on hosts running Linux built for amd64. The problem was observed when running `pbuilder' with a `base.tgz' containing i386 port of Debian etch on an otherwise Debian amd64 host: # uname -m x86_64 # pbuilder create \ --basetgz /var/cache/pbuilder/base-i386.tgz \ --debootstrap debootstrap \ --debootstrapopts --arch --debootstrapopts i386 \ --distribution etch \ --mirror http://local-debian-mirror/ ... # LC_ALL=C nohup /usr/bin/time pbuilder build \ --basetgz /var/cache/pbuilder/base-i386.tgz \ .../ftp.de.debian.org/debian/pool/main/d/db4.5/db4.5_4.5.20-11.dsc & ... fails to build... # -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]