|
Quick Lists
|
|
Bug ID:
|
6482134
|
|
Votes
|
0
|
|
Synopsis
|
JDK 6 build error on Windows, Visual Studio .NET on Japanese locale
|
|
Category
|
java:build
|
|
Reported Against
|
|
|
Release Fixed
|
7(b26)
|
|
State
|
10-Fix Delivered,
bug
|
|
Priority:
|
4-Low
|
|
Related Bugs
|
6547593
|
|
Submit Date
|
14-OCT-2006
|
|
Description
|
See http://forums.java.net/jive/thread.jspa?messageID=162959&tstart=0#162959
momotaro
Posts: 1
JDK 6 build error on Windows, Visual Studio .NET on Japanese locale
Posted: Oct 13, 2006 9:46 PM
JDK 6 source snapshot for Windows, using Visual Studio .NET 2003 Compiler(32bit) Japanese edition, causes build error.
../../j2se/make/common/shared/Compiler-msvc.gmk:117: *** COMPILER_VERSION cannot be empty here. Stop.
This error has been long time and is in b102.
COMPILER_VERSION is decided from the compiler message in makefile. There are the logic of identifying the compiler version and type in j2se/make/common/shared/Compiler-msvc.gmk line:34-
CC_VER := $(shell $(CC) 2>&1 | $(HEAD) -n 1 | $(NAWK) '{print $$8}')
CC_TYPE := $(shell $(CC) 2>&1 | $(HEAD) -n 1 | $(NAWK) '{print $$5}')
This logic may expect the Compiler message as following.
customer (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
Unfortunately, Visual Studio .NET 2003 Compiler Japanese edition outputs the Compiler message as following.
customer (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
Note) there is a difference at 1st and 2nd word, Japanese edition lacks a space between ' customer ' and '(R)'.
So, CC_VER and CC_TYPE variable has wrong value.
A workaround is, to modify the makefile to change the awk print position $$8 -> $$7 and $$5 -> $$4.
But it's a pain to modify every download and build time.
So, It would be better to treat these differences in the makefile. I have a modification idea to fix this problem.
CC_VER := $(shell $(CC) 2>&1 | $(HEAD) -n 1 | $(SED) 's/ customer (R)\(.*\)/ customer (R)\1/' | $(NAWK) '{print $$8}')
CC_TYPE := $(shell $(CC) 2>&1 | $(HEAD) -n 1 | $(SED) 's/ customer (R)\(.*\)/ customer (R)\1/' | $(NAWK) '{print $$5}')
Posted Date : 2006-10-14 20:41:15.0
|
|
Work Around
|
gnumake COMPILER_VERSION=13.10.3077
*** (#1 of 1): [ UNSAVED ] xxxxx@xxxxx
|
|
Evaluation
|
Could be a dup of 6547593. Will try and investigate.
Posted Date : 2008-03-19 00:39:27.0
Not a dup of 6547593.
Not sure
Posted Date : 2008-04-01 01:26:32.0
Will change to
CC_VER := $(shell $(CC) 2>&1 | $(HEAD) -n 1 | $(SED) 's/.*\(Version.*\)/\1/' | $(NAWK) '{print $$2}')
which works for both 32 and 64 bit and both locales, I hope. Hard to test this in all cases. And getting rid of CC_TYPE, which isn't needed.
Posted Date : 2008-04-01 21:41:13.0
http://hg.openjdk.java.net/jdk7/build/jdk/rev/a977a69d9cf2
Posted Date : 2008-04-01 23:03:34.0
|
|
Comments
|
PLEASE NOTE: JDK6 is formerly known as Project Mustang
|
|
|
 |