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

Reply via email to