From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6458 invoked by alias); 6 Nov 2005 19:53:15 -0000 Mailing-List: contact java-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: java-prs-owner@gcc.gnu.org Received: (qmail 6436 invoked by uid 48); 6 Nov 2005 19:53:15 -0000 Date: Sun, 06 Nov 2005 19:53:00 -0000 Subject: [Bug java/24698] New: [4.1 regression] Apparent problem getting non-.class files out of jars X-Bugzilla-Reason: CC Message-ID: Reply-To: gcc-bugzilla@gcc.gnu.org To: java-prs@gcc.gnu.org From: "bero at arklinux dot org" X-SW-Source: 2005-q4/txt/msg00286.txt.bz2 List-Id: Sorry for the vague description and huge test case - I don't speak Java beyond the "it looks a lot like C++" level. Trying to use a gcj 4.1 SVN rev 106562-compiled ecj (built using the workaround from bug 24441) results in a SIGABRT when trying to translate any .java file (even a simple helloworld.java). strace-ing the output indicates it can't locate the compiler messages, which are in messages.properties, which is definitely included in the .jar and the .jar is in the classpath. Looks like gcj/gij look for a messages.class file instead. Relevant parts of strace output: * open("/usr/lib/libeclipse-ecj.so", O_RDONLY) = 3 <--- It finds the precompiled version [the problem doesn't go away if I delete that and use the .jar only] * stat64("/usr/share/java/eclipse-ecj.jar", {st_mode=S_IFREG|0644, st_size=905576, ...}) = 0 * open("/usr/share/java/eclipse-ecj.jar", O_RDONLY|O_LARGEFILE) = 9 <--- It finds and reads the jar file nevertheless * open("/lib/lib-org-eclipse-jdt-internal-compiler-batch-messages_en_US.la", O_RDONLY) = -1 ENOENT (No such file or directory) * open("/usr/lib/lib-org-eclipse-jdt-internal-compiler-batch-messages_en_US.la", O_RDONLY) = -1 ENOENT (No such file or directory) * open("lib-org-eclipse-jdt-internal-compiler-batch-messages_en_US.la", O_RDONLY) = -1 ENOENT (No such file or directory) * access("/lib/lib-org-eclipse-jdt-internal-compiler-batch-messages_en_US.so", R_OK) = -1 ENOENT (No such file or directory) * access("/usr/lib/lib-org-eclipse-jdt-internal-compiler-batch-messages_en_US.so", R_OK) = -1 ENOENT (No such file or directory) * open("/lib/lib-org-eclipse-jdt-internal-compiler-batch-messages_en_US.so", O_RDONLY) = -1 ENOENT (No such file or directory) * open("/usr/lib/lib-org-eclipse-jdt-internal-compiler-batch-messages_en_US.so", O_RDONLY) = -1 ENOENT (No such file or directory) * access("/home/arklinux/./org/eclipse/jdt/internal/compiler/batch/messages_en.properties", F_OK) = -1 ENOENT (No such file or directory) * open("/lib/lib-org-eclipse-jdt-internal-compiler-batch-messages.la", O_RDONLY) = -1 ENOENT (No such file or directory) * open("/usr/lib/lib-org-eclipse-jdt-internal-compiler-batch-messages.la", O_RDONLY) = -1 ENOENT (No such file or directory) * open("lib-org-eclipse-jdt-internal-compiler-batch-messages.la", O_RDONLY) = -1 ENOENT (No such file or directory) * access("/lib/lib-org-eclipse-jdt-internal-compiler-batch-messages.so", R_OK) = -1 ENOENT (No such file or directory) * access("/usr/lib/lib-org-eclipse-jdt-internal-compiler-batch-messages.so", R_OK) = -1 ENOENT (No such file or directory) * open("/lib/lib-org-eclipse-jdt-internal-compiler-batch-messages.so", O_RDONLY) = -1 ENOENT (No such file or directory) * open("/usr/lib/lib-org-eclipse-jdt-internal-compiler-batch-messages.so", O_RDONLY) = -1 ENOENT (No such file or directory) access("/home/arklinux/./org/eclipse/jdt/internal/compiler/batch/messages.class", F_OK) = -1 ENOENT (No such file or directory) <--- It looks for org.eclipse.jdt.internal.compiler.batch.messages* in various places without finding anything, insisting it's supposed to be a .class when it's in fact looking for messages.properties [strace-ing the 4.0.x generated version confirms messages.properties is what it's looking for]. $ jar tfv eclipse-ecj.jar |grep compiler/util/messages 2764 Wed Jan 12 00:13:34 CET 2005 org/eclipse/jdt/internal/compiler/util/messages.properties The same code (and build process) works nicely if gcj/gij 4.0.x is used. -- Summary: [4.1 regression] Apparent problem getting non-.class files out of jars Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: java AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: bero at arklinux dot org GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24698