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