Building OpenJDK in Windows again.

Kelly O'Hair Kelly.Ohair at Sun.COM
Wed Jul 23 18:09:56 UTC 2008


You probably built with Visual Studio 2005 (VS2005). Correct?
And if this is Vista you are on your own. I don't do Vista. :^(

The official Windows compiler is VS2003, which used msvcr71.dll.
There are various Makefile changes necessary to setup for use of
a different runtime, in this case msvcr80.dll.

In particular changes to the files:
   jdk/make/common/Defs-windows.gmk and
   jdk/make/common/shared/Defs-windows.gmk
   jdk/make/java/redist/Makefile

And of less importance:
   jdk/make/common/shared/Sanity.gmk

Just look for "msvcr71.dll" and try changing it to msvcr80.dll.
You need the right msvcr* runtimes in the appropriate "bin/"
directories. But that is probably not enough.

I don't know what your error message
   "application has made an attempt to load the C runtime library incorrectly."
means exactly. But it's possible that you are running into the
manifest requirement that was added starting in VS2005, see
   http://bugs.sun.com/view_bug.do?bug_id=6523947
Which is a unique issue starting with VS2005.

Officially we are looking at changing to VS2008, which may use
yet a different runtime library (msvcr90.dll???), but will have
the same manifest requirement. So we will deal with that when the
conversion to VS2008 happens.

-kto

Ingo Proetel wrote:
> Hi,
> 
> got through the make process. But when I call 
> build/windows-i586/bin/java I get a pop-up window telling me that the 
> application is missing MSVCR80.dll. This dll exist at a rather obscure 
> location in the Windows directory.
> So I added that location to my PATH an got an error that the 
> "application has made an attempt to load the C runtime library 
> incorrectly."
> 
> Can somebody please help me with this?
> 
> Cheers,
> Ingo



More information about the build-dev mailing list