Somewhat wonkier Windows problem
kellyohair at gmail.com
Wed May 22 22:53:07 UTC 2013
Windows VS compilers are a pain. Each release has it's own unique runtime DLLs, which we must deliver with the JDK, so the build process has to know what that DLL is named, where it is located, and copy it into various places.
DLLs created by a newer VS will not like the older VS runtime DLLs.
To make a long story short, changing VS compilers is a royal pain, and not trivial.
This is why we only recommend VS2010.
I'm not saying it cannot be done, I'm just saying you should have plenty of liquor available when you do it. :^(
On May 22, 2013, at 2:12 PM, David Chase wrote:
> I am persisting in my attempt to compile OpenJDK 8 on Windows 7, using the tools likely to be handy for someone outside Oracle attempting to do this, because our existing directions are borken and need to be fixed, if possible.
> I'm using VS2012, because that's what someone would normally do in 2013, and I've worked through a couple of issues with that.
> I'm currently lying about the version number (claiming VS2010) and tinkering with a few header files by-hand to get to the end.
> I get near the end (linking jvm.dll) and hit:
> LNK2011 - If you use precompiled headers, LINK requires that all of the object files created with precompiled headers must be linked in. If you have a source file that you use to generate a precompiled header for use with other source files, you now must include the object file created along with the precompiled header.
> The cause of this is that (I think) we used precompiled headers for some or all of the adlc tool for the hotspot compiler, and now the linker wants to put them into jvm.dll, just in case, because (apparently) all the precompiled header information lands in one big confusing blob.
> I'm a little puzzled that this has not occurred before (the error message dates back to VS 2003) but I see no mention of LNK2011 in the bug database, or anything that looks right using various combinations of keywords.
More information about the build-dev