HotSpot build problems on Windows

Christian Wimmer wimmer at ssw.jku.at
Thu Nov 13 21:06:11 PST 2008


Hi

When building the HotSpot VM on Windows using the create-script that  
generates the Visual Studio project files, a bunch of problems occur.  
I use Visual Studio 2008 on 64-bit Windows Vista, but most things are  
independent of this configuration. Most problems seem to be related to  
the recent integration of the G1 garbage collector.

1) The most sever problem is that create.bat stops with the error  
message "command line too long" when executing MakeDeps. The tool  
takes so many parameters to configure the file structure for the VS  
project. The integration of G1 added some new ones, so now the line is  
too long. Even putting the source code directly into  C:\ so that  
absolute paths are as short as possible does not help. My solution is  
to abbreviate some command line flags, like "-additionalFile" and "- 
additionalGeneratedFile". This works, but is no general solution for  
the future.

2) duplicate files: the files "concurrentGCThread.cpp" and  
"concurrentGCThread.hpp" are present in two directories:  
"gc_implementation\concurrentMarkSweep" and "gc_implementation 
\shared". The content of the files is equal, so just deleting one pair  
of files works.

3) Missing includeDB reference for G1: In the file "make\windows 
\projectfiles\common\Makefile", the reference of "includeDB_gc_g1" is  
missing in the definition of "IncludeDBs_gc"

4) The macro HOTSPOT_LIB_ARCH is not defined, i.e. the following line  
is missing in the file "make\windows\makefiles\makedeps.make":
	-define HOTSPOT_LIB_ARCH=\\\"$(BUILDARCH)\\\" \

5) In the same file, the following define is necessary to avoid build  
errors starting with Visual Studio 2005:
	-define _CRT_SECURE_NO_WARNINGS \

VS2008 also has a different project file format, however importing the  
currently generated project files works fine so this is only a minor  
issue.


Christian



More information about the hotspot-dev mailing list