Return-Path: Delivered-To: apmail-harmony-commits-archive@www.apache.org Received: (qmail 13551 invoked from network); 21 Sep 2010 17:38:15 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 21 Sep 2010 17:38:15 -0000 Received: (qmail 8469 invoked by uid 500); 21 Sep 2010 17:38:14 -0000 Delivered-To: apmail-harmony-commits-archive@harmony.apache.org Received: (qmail 8262 invoked by uid 500); 21 Sep 2010 17:38:14 -0000 Mailing-List: contact commits-help@harmony.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@harmony.apache.org Delivered-To: mailing list commits@harmony.apache.org Received: (qmail 8247 invoked by uid 99); 21 Sep 2010 17:38:13 -0000 Received: from Unknown (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 21 Sep 2010 17:38:13 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.22] (HELO thor.apache.org) (140.211.11.22) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 21 Sep 2010 17:37:56 +0000 Received: from thor (localhost [127.0.0.1]) by thor.apache.org (8.13.8+Sun/8.13.8) with ESMTP id o8LHbYao019449 for ; Tue, 21 Sep 2010 17:37:34 GMT Message-ID: <6719402.321281285090654068.JavaMail.jira@thor> Date: Tue, 21 Sep 2010 13:37:34 -0400 (EDT) From: "Andreas Sewe (JIRA)" To: commits@harmony.apache.org Subject: [jira] Reopened: (HARMONY-6535) Compiling the Scala library against the Harmony JRE doesn't work In-Reply-To: <5361550.107431275409897286.JavaMail.jira@thor> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/HARMONY-6535?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andreas Sewe reopened HARMONY-6535: ----------------------------------- I investigated some more and am now able to reproduce this bug (with the 6.0-M3 milestone) and can pretty-much pinpoint the JAR that confuses the Scala compiler. (Cross-)compiling Scala code against the Apache Harmony JRE works when using the Linux JARs , but breaks when using the Windows ones . The problem manifests itself as follows when using the Scala compiler to compile the Scalaz Core 5.0 library against (a minimal subset of) the 6.0-M3 Harmony JRE: $ export JRE=/home/sewe/harmony-6.0-jre-991881/lib/boot $ export LIB=/home/sewe/scala-2.8.0.final/lib $ export SRC=/home/sewe/scalaz-core_2.8.0-5.0 $ find $SRC -name '*.scala' | xargs scalac \ -bootclasspath $LIB/scala-library.jar \ -javabootclasspath $JRE/accessibility.jar:$JRE/awt.jar:$JRE/concurrent.jar:$JRE/luni.jar:$JRE/luni-kernel-stubs.jar:$JRE/math.jar:$JRE/nio.jar:$JRE/nio_char.jar:$JRE/regex.jar:$JRE/suncompat.jar:$JRE/swing.jar \ -javaextdirs : \ -sourcepath $SRC \ -verbose [Classpath = /home/sewe/harmony-6.0-jre-991881/lib/boot/accessibility.jar:/home/sewe/windows/harmony-6.0-jre-991881/lib/boot/awt.jar:/home/sewe/harmony-6.0-jre-991881/lib/boot/concurrent.jar:/home/sewe/harmony-6.0-jre-991881/lib/boot/luni.jar:/home/sewe/harmony-6.0-jre-991881/lib/boot/luni-kernel-stubs.jar:/home/sewe/harmony-6.0-jre-991881/lib/boot/math.jar:/home/sewe/harmony-6.0-jre-991881/lib/boot/nio.jar:/home/sewe/harmony-6.0-jre-991881/lib/boot/nio_char.jar:/home/sewe/harmony-6.0-jre-991881/lib/boot/regex.jar:/home/sewe/harmony-6.0-jre-991881/lib/boot/suncompat.jar:/home/sewe/harmony-6.0-jre-991881/lib/boot/swing.jar:/home/sewe/scala-2.8.0.final/lib/scala-library.jar:.:/home/sewe/scalaz-core_2.8.0-5.0] [loaded package loader accessibility.jar in 1973ms] [loaded package loader java in 2ms] [loaded package loader lang in 178ms] ... [loaded class file ./windows/harmony-6.0-jre-991881/lib/boot/luni.jar(java/util/Map$Entry.class) in 3ms] ... error: error while loading WeakHashMap, Missing dependency 'class java.util.Map$Entry', required by /home/sewe/harmony-6.0-jre-991881/lib/boot/luni.jar(java/util/WeakHashMap.class) ... error: error while loading IdentityHashMap, Missing dependency 'class java.util.Map$Entry', required by /home/sewe/harmony-6.0-jre-991881/lib/boot/luni.jar(java/util/IdentityHashMap.class) ... Although the Scala compiler has the (Windows!) luni.jar (md5sum ba4ddcd4add0ef2364047335f2a2ac7a) on its classpath and evidently finds the Map$Entry classfile contained therein, it doesn't look for it when Map.Entry is later referenced. In contrast, using the the Linux luni.jar (md5sum 61514aacea499ea41f0d2933186defa4) the problem does not show up. Granted, the above might not be a minimal test-case to reproduce the bug (in particular as scalac latter on stumbles upon the missing javax.swing.SwingWorker class, that is not yet part of Harmony), but it was the simplest case I could come up with. Hopefully, you guys are able to figure out in what way the two luni.jar's differ to trip the Scala compiler. > Compiling the Scala library against the Harmony JRE doesn't work > ---------------------------------------------------------------- > > Key: HARMONY-6535 > URL: https://issues.apache.org/jira/browse/HARMONY-6535 > Project: Harmony > Issue Type: Bug > Components: Classlib > Affects Versions: 6.0M1 > Environment: Linux 2.6.31-21-generic #59-Ubuntu SMP Wed Mar 24 07:28:56 UTC 2010 i686 GNU/Linux > Reporter: Andreas Sewe > Assignee: Mark Hindess > > Please note: I am unsure whether this is a bug within the Scala compiler or less than perfect Java SE 6 compatibility on Harmony's part. > To reproduce the bug/incompatibility compile WeakHashMap.scala from the Scala library (version 2.8.0.RC3) against the Apache Harmony 6.0M1 JRE, with CLASSPATH set to the .jars in the Harmony distribution: > > ./bin/scalac -version > Scala compiler version 2.8.0.RC3 -- Copyright 2002-2010, LAMP/EPFL > > ./bin/scalac -javabootclasspath $CLASSPATH ../scala/src/library/scala/collection/mutable/WeakHashMap.scala > error: error while loading WeakHashMap, Missing dependency 'class java.util.Map$Entry', required by /usr/lib/harmony-6.0/jdk/jre/lib/boot/luni.jar(java/util/WeakHashMap.class) > error: error while loading AbstractMap, Missing dependency 'class java.util.Map$Entry', required by /usr/lib/harmony-6.0/jdk/jre/lib/boot/luni.jar(java/util/AbstractMap.class) > error: error while loading Hashtable, Missing dependency 'class java.util.Map$Entry', required by /usr/lib/harmony-6.0/jdk/jre/lib/boot/luni.jar(java/util/Hashtable.class) > three errors found > For some reason, scalac, the Scala compiler, is unable to track down the Entry class. I suspect that there is some subtle difference between Harmony's classes and those of the Sun JDK. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.