Problems building OpenJDK7 with InvokeDynamic on OSX

Ben Evans benjamin.john.evans at googlemail.com
Fri Dec 5 10:31:35 PST 2008


On Thu, Dec 4, 2008 at 8:26 PM, John Rose <John.Rose at sun.com> wrote:

> On Dec 4, 2008, at 12:35 AM, Ben Evans wrote:
>
> Apologies if this is not the right place to ask (or if there are basic docs
> somewhere which I have failed to find on my own).
>
> I've been following the build instructions at:
>
> http://wikis.sun.com/display/mlvm/Building
>
> and trying to build with b33 of OpenJDK7, from the bsd port, to then build
> via:
>
>
> http://landonf.bikemonkey.org/code/java/SoyLatte_Meets_OpenJDK.20080819.html
>
> (I have successfully built a vanilla OpenJDK7 and aside from some known
> problems with the test suite, seem to have it self-hosting).
>
>
> I currently develop mlvm on Solaris over VMWare on my MacBook (OSX 10.4
> though).  I'm excited to see you working on OSX builds.  The bad news is,
> you are the pioneer.
>
> I've given you full write permissions on the mlvm wiki, in case you want to
> share your experiences more fully.
>

Thanks - once I've got something working I'll add full details of the
builds.

Unfortunately, the patches for invokedynamic do not seem to apply against my
bsd src tree.

The patches in the mlvm repositories are based against whatever recent JDK
> version somebody (me, in practice) has refreshed them against.
>

OK, so I have 2 separate source trees, one which is b38, which does not have
bsd-specific source in it, and one which is b33 with bsd ported code.

So, essentially I'm trying to apply the patches from b38 to a b33 tree. Is
this a wise thing to do, or should I be asking if anyone else on the
bsd-port-dev group has got a more up to date code tree building on OS X?

In the mlvm/hotspot repo, the patches are refreshed to b38 but in practice
> they should work against neighboring builds, including b40.  The patches in
> mlvm/jdk are refreshed to b34, which is close enough to b38.  See:
>   http://hg.openjdk.java.net/mlvm/mlvm/hotspot/file/tip/series
>   http://hg.openjdk.java.net/mlvm/mlvm/jdk/file/tip/series
>
> Your $guards variable probably says b40 (based on the reading of .hgtags
> by make/current-release.sh).  Change it to mention all the builds the
> patches expect, both b34 and b38.  This amounts to a manual override that
> says "yes, I know this base is not exactly what the patches want, and I'll
> take responsibility for the consequences".  You might have patch mismatches
> to fix and/or build problems.
>

I've set

guards='buildable testable jdk7-b33 jdk7-b34 jdk7-b38 jdk7-b40'

to be on the safe side. (Previously it was just buildable testable
jdk7-b33).

>
> Try this command to see which guards are enabled:
>   sh patches/make/each-patch-repo.sh hg qguard
>   head patches/*/guards  # quick & dirty form
>

CatBasket:jdk7-b33 boxcat$ sh patches/make/each-patch-repo.sh hg qguard
+ (cd sources/hotspot; hg qguard)
abort: no patches applied
+ (cd sources/jdk; hg qguard)
abort: no patches applied
+ (cd sources/langtools; hg qguard)
abort: no patches applied


> Try this command to see which patches are (therefore) enabled:
>   sh patches/make/each-patch-repo.sh hg qseries
>

CatBasket:jdk7-b33 boxcat$ sh patches/make/each-patch-repo.sh hg qseries
+ (cd sources/hotspot; hg qseries)
anonk.patch
meth.patch
indy.patch
annot.patch
callcc.patch
+ (cd sources/jdk; hg qseries)
anonk.patch
meth.patch
indy.patch
callcc.patch
+ (cd sources/langtools; hg qseries)
quid.patch
meth.patch

I'm still a complete novice with Mercurial, but I'll go and read the docs
and see what I can figure out from the above.

Further pointers would be very welcome.

Thanks,

Ben
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/mlvm-dev/attachments/20081205/4af5bb43/attachment.html 


More information about the mlvm-dev mailing list