Building OpenJDK on Windows
Kelly O'Hair
Kelly.Ohair at Sun.COM
Tue Jul 22 16:31:35 UTC 2008
Max is correct.
Normally you should put the compiler paths before /usr/bin in your PATH variable.
I'm not sure how safe it is to modify the cygwin installation.
I have bug 6724787, and I will clarify this cygwin link.exe PATH issue in the
OpenJDK Build readme soon.
http://hg.openjdk.java.net/jdk7/build/raw-file/tip/README-builds.html
-kto
Max (Weijun) Wang wrote:
> This is a conflict between link.exe of CYGWIN and MSVC.
>
> The formal process seems to suggest that you define environment
> variables to inform make to locate the correct find.exe (the MSVC one).
> I haven't tried it. I simply rename the link.exe in CYGWIN to something
> else.
>
> -Max
>
> On Jul 22, 2008, at 8:13 PM, Ingo Proetel wrote:
>
>> Thanks that helped.
>>
>> Until I got here:
>> link.exe bufferoverflowU.lib kernel32.lib user32.lib gdi32.lib
>> winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib
>> oleaut32.lib uuid.lib Wsock32.lib winmm.lib /nologo /machine:I386
>> /opt:REF /opt:ICF,8 /map /debug /subsystem:console /out:adlc.exe
>> main.obj adlparse.obj archDesc.obj arena.obj dfa.obj dict2.obj
>> filebuff.obj forms.obj formsopt.obj formssel.obj opcodes.obj
>> output_c.obj output_h.obj
>> /usr/bin/link: extra operand `user32.lib'
>> Try `/usr/bin/link --help' for more information.
>> NMAKE : fatal error U1077: 'C:\cygwin\bin\link.exe' : return code '0x1'
>>
>> Apparently the make does not use ALT_DEVTOOLS_PATH to prefix link.exe.
>> Is there another environment variable that I should set for that?
>> Or do I have to adjust the PATH variable?
>>
>> Ingo
>>
>> Max (Weijun) Wang wrote:
>>> The file is moved to somewhere else. Please apply this patch:
>>> diff --git a/make/windows/makefiles/defs.make
>>> b/make/windows/makefiles/defs.make
>>> --- a/make/windows/makefiles/defs.make
>>> +++ b/make/windows/makefiles/defs.make
>>> @@ -107,7 +107,7 @@
>>> ABS_OUTPUTDIR := $(subst /,\\,$(shell /bin/cygpath -m -a
>>> "$(OUTPUTDIR)"))
>>> ABS_BOOTDIR := $(subst /,\\,$(shell /bin/cygpath -m -a
>>> "$(BOOTDIR)"))
>>> ABS_GAMMADIR := $(subst /,\\,$(shell /bin/cygpath -m -a
>>> "$(GAMMADIR)"))
>>> - ABS_OS_MAKEFILE := $(shell /bin/cygpath -m -a
>>> "$(HS_BUILD_DIR)/$(OSNAME)")/build.make
>>> + ABS_OS_MAKEFILE := $(shell /bin/cygpath -m -a
>>> "$(HS_MAKE_DIR)/$(OSNAME)")/build.make
>>> else
>>> ABS_OUTPUTDIR := $(subst /,\\,$(shell $(CD) $(OUTPUTDIR);$(PWD)))
>>> ABS_BOOTDIR := $(subst /,\\,$(shell $(CD) $(BOOTDIR);$(PWD)))
>>> Hope this helps
>>> -Max
>>> On Jul 22, 2008, at 7:21 PM, Ingo Proetel wrote:
>>>> Hi,
>>>>
>>>> I'm currently trying to setup an OpenJDK build on Windows.
>>>>
>>>> It works until it tries to compile hotspot. It misses
>>>> 'hotspot/build/windows/build.make'.
>>>> The build process creates some directories but not the 'hotspot/build'.
>>>>
>>>> Can somebody help me with this?
>>>>
>>>> Cheers,
>>>> Ingo
>>>>
>>>> This is the output I get:
>>>> /usr/bin/mkdir -p
>>>> s:/Users/proetel/projects/openjdk/jdk7/tl/build/windows-i586/hotspot/outputdir
>>>>
>>>> /usr/bin/mkdir -p
>>>> s:/Users/proetel/projects/openjdk/jdk7/tl/build/windows-i586/hotspot/import
>>>>
>>>> cd ./hotspot/make && \
>>>> make JDK_TOPDIR=s:/Users/proetel/projects/openjdk/jdk7/tl/jdk
>>>> JDK_MAKE_SHARED_DIR=s:/Users/proetel/projects/openjdk/jdk7/tl/jdk/make/common/shared
>>>> EXTERNALSANITYCONTROL=true TARGET_CLASS_VERSION=5 MILESTONE=internal
>>>> BUILD_NUMBER=b00 JDK_BUILD_NUMBER=b00
>>>> FULL_VERSION=1.7.0-internal-proetel_2008_07_22_13_07-b00
>>>> PREVIOUS_JDK_VERSION=1.6.0 JDK_VERSION=1.7.0 JDK_MKTG_VERSION=7
>>>> JDK_MAJOR_VERSION=1 JDK_MINOR_VERSION=7 JDK_MICRO_VERSION=0
>>>> PREVIOUS_MAJOR_VERSION=1 PREVIOUS_MINOR_VERSION=6
>>>> PREVIOUS_MICRO_VERSION=0 ARCH_DATA_MODEL=32 COOKED_BUILD_NUMBER=0
>>>> ANT_HOME="c:/Programme/apache-ant-1.7.0"
>>>> ALT_OUTPUTDIR=s:/Users/proetel/projects/openjdk/jdk7/tl/build/windows-i586/hotspot/outputdir
>>>> ALT_EXPORT_PATH=s:/Users/proetel/projects/openjdk/jdk7/tl/build/windows-i586/hotspot/import
>>>> ALT_SLASH_JAVA=J: ALT_BOOTDIR=c:/Programme/Java/jdk1.6.0_03
>>>> ALT_LANGTOOLS_DIST=s:/Users/proetel/projects/openjdk/jdk7/tl/build/windows-i586/langtools/dist
>>>> all_product
>>>> make[1]: Entering directory
>>>> `/cygdrive/s/Users/proetel/projects/openjdk/jdk7/tl/hotspot/make'
>>>> cd /cygdrive/s/Users/proetel/projects/openjdk/jdk7/tl/hotspot/make; \
>>>> make VM_TARGET=product generic_build2
>>>> ALT_OUTPUTDIR=s:/Users/proetel/projects/openjdk/jdk7/tl/build/windows-i586/hotspot/outputdir
>>>>
>>>> make[2]: Entering directory
>>>> `/cygdrive/s/Users/proetel/projects/openjdk/jdk7/tl/hotspot/make'
>>>> mkdir -p
>>>> s:/Users/proetel/projects/openjdk/jdk7/tl/build/windows-i586/hotspot/outputdir
>>>>
>>>> cd
>>>> s:/Users/proetel/projects/openjdk/jdk7/tl/build/windows-i586/hotspot/outputdir;
>>>> \
>>>> MAKEFLAGS= MFLAGS= nmake /NOLOGO -f
>>>> s:/Users/proetel/projects/openjdk/jdk7/tl/hotspot/build/windows/build.make
>>>> \
>>>> Variant=compiler2 \
>>>>
>>>> WorkSpace=s:\\Users\\proetel\\projects\\openjdk\\jdk7\\tl\\hotspot \
>>>> BootStrapDir=c:\\Programme\\Java\\jdk1.6.0_03 \
>>>> BuildUser=proetel \
>>>> ARCH=x86 BUILDARCH=i486 Platform_arch=x86
>>>> Platform_arch_model=x86_32 JDK_MKTG_VERSION=7 JDK_MAJOR_VER=1
>>>> JDK_MINOR_VER=7 JDK_MICRO_VER=0 JDK_BUILD_NUMBER=0
>>>> JAVA_HOME=c:\\Programme\\Java\\jdk1.6.0_03
>>>> GAMMADIR=s:\\Users\\proetel\\projects\\openjdk\\jdk7\\tl\\hotspot
>>>> MAKE_VERBOSE=y HOTSPOT_RELEASE_VERSION=13.0-b02
>>>> JRE_RELEASE_VERSION=1.7.0-internal-proetel_2008_07_22_13_07-b00
>>>> HOTSPOT_BUILD_VERSION= product
>>>> NMAKE : fatal error U1052: file
>>>> 's:/Users/proetel/projects/openjdk/jdk7/tl/hotspot/build/windows/build.make'
>>>> not found
>>>> Stop.
>>>> make[2]: *** [generic_build2] Error 2
>>>> make[2]: Leaving directory
>>>> `/cygdrive/s/Users/proetel/projects/openjdk/jdk7/tl/hotspot/make'
>>>> make[1]: *** [product] Error 2
>>>> make[1]: Leaving directory
>>>> `/cygdrive/s/Users/proetel/projects/openjdk/jdk7/tl/hotspot/make'
>>>> make: *** [hotspot-build] Error 2
>>>> --
>>>> aicas Allerton Interworks Computer Automated Systems GmbH
>>>> Haid-und-Neu-Straße 18 * D-76131 Karlsruhe * Germany
>>>> http://www.aicas.com * Tel: +49-721-663 968-0
>>>>
>>>> USt-Id: DE216375633, Handelsregister HRB 109481, AG Karlsruhe
>>>> Geschäftsführer: Dr. James J. Hunt
>>
>>
>> --
>> aicas Allerton Interworks Computer Automated Systems GmbH
>> Haid-und-Neu-Straße 18 * D-76131 Karlsruhe * Germany
>> http://www.aicas.com * Tel: +49-721-663 968-0
>>
>> USt-Id: DE216375633, Handelsregister HRB 109481, AG Karlsruhe
>> Geschäftsführer: Dr. James J. Hunt
>
More information about the build-dev
mailing list