You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Andreas Sewe (JIRA)" <ji...@apache.org> on 2010/09/22 11:45:33 UTC
[jira] Commented: (HARMONY-6535) Compiling the Scala library
against the Harmony JRE doesn't work
[ https://issues.apache.org/jira/browse/HARMONY-6535?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12913478#action_12913478 ]
Andreas Sewe commented on HARMONY-6535:
---------------------------------------
While the Map.Entry itself is the same in both the Linux and Windows JREs, digging a little bit further revealed an oddity in both WeakHashMap and IdentityHashMap: The Linux WeakHashMap classfile contains a InnerClass entry not present in its Windows counterpart. The following is straight from javap -verbose:
InnerClass:
+ public abstract #178= #176 of #5; //Entry=class java/util/Map$Entry of class java/util/Map
#94; //class java/util/WeakHashMap$1
#104; //class java/util/WeakHashMap$2
#114; //class java/util/WeakHashMap$3
! final #178= #26 of #1; //Entry=class java/util/WeakHashMap$Entry of class java/util/WeakHashMap
! #181= #179 of #1; //HashIterator=class java/util/WeakHashMap$HashIterator of class java/util/WeakHashMap
In a similar vein, IdentityHashMap is missing an InnterClass entry in the Windows version:
InnerClass:
#139; //class java/util/IdentityHashMap$1
#149; //class java/util/IdentityHashMap$2
#237= #99 of #1; //IdentityHashMapEntry=class java/util/IdentityHashMap$IdentityHashMapEntry of class java/util/IdentityHashMap
#238= #129 of #1; //IdentityHashMapEntrySet=class java/util/IdentityHashMap$IdentityHashMapEntrySet of class java/util/IdentityHashMap
#241= #239 of #1; //IdentityHashMapIterator=class java/util/IdentityHashMap$IdentityHashMapIterator of class java/util/IdentityHashMap
+ public abstract #244= #242 of #5; //Entry=class java/util/Map$Entry of class java/util/Map
I think the missing entry might be what's leading the Scala compiler astray.
> 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.