United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6693120 A French VisualStudio C++ compiler is not recognized by make sanity
JDK-6693120 : A French VisualStudio C++ compiler is not recognized by make sanity

Details
Type:
Bug
Submit Date:
2008-04-24
Status:
Closed
Updated Date:
2010-04-03
Project Name:
JDK
Resolved Date:
2009-11-12
Component:
infrastructure
OS:
windows_xp
Sub-Component:
build
CPU:
x86
Priority:
P4
Resolution:
Duplicate
Affected Versions:
7
Fixed Versions:
7

Related Reports
Duplicate:

Sub Tasks

Description
FULL PRODUCT VERSION :


ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows XP [version 5.1.2600]

EXTRA RELEVANT SYSTEM CONFIGURATION :
$ uname -a
CYGWIN_NT-5.1 Falbala 1.5.25(0.156/4/2) 2008-03-05 19:27 i686 Cygwin

A DESCRIPTION OF THE PROBLEM :
 In    jdk//make/common/shared/Compiler-msvc.gmk
the computation of the CC variables as
    CC_VER  := $(shell $(CC) 2>&1 | $(HEAD) -n 1 | $(NAWK) '{print $$8}')
    LINK_VER := $(shell $(LINK) | $(HEAD) -n 1 | $(NAWK) '{print $$6}')
    CC_TYPE := $(shell $(CC) 2>&1 | $(HEAD) -n 1 | $(NAWK) '{print $$5}')

is wrong because the French message is:
CYGWIN:FALBALA:FrancisANDRE[242] cl
Microsoft (R) 32??bits C/C++ Version standard du compilateur 13.10.3077 pour 80x86
Copyright (C) Microsoft Corp 1984-2002. Tous droits r??serv??s.

so CC_VER got 'compilateur' and CC_TYPE got 'Version'.

which leads to an abort of the make processing.


STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Use a French VisualStudio 2003 VC++ compiler release 7.1 and build OpenJDK as explained in the README file.

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
CC_VER =13.10.3077
LINK_VER=7.10.3077
CC_TYPE=standard

ACTUAL -
CC_VER =compiler
LINK_VER=7.10.3077
CC_TYPE=Version


REPRODUCIBILITY :
This bug can be reproduced always.

CUSTOMER SUBMITTED WORKAROUND :
For a French VisualStudio C++ compiler, one should use

    CC_VER  := $(shell $(CC) 2>&1 | $(HEAD) -n 1 | $(NAWK) '{print $$9}')
    LINK_VER := $(shell $(LINK) | $(HEAD) -n 1 | $(NAWK) '{print $$6}')
    CC_TYPE := $(shell $(CC) 2>&1 | $(HEAD) -n 1 | $(NAWK) '{print $$6}')

                                    

Comments
EVALUATION

This will be fixed with the changes in 6892741 The AWK usage will be removed and the make define macro GetVersion will be used, so the expectation of word order should be removed and a number.number pattern is parsed out of the first line.

Will close this as a dup of 6892741.
                                     
2009-11-12



Hardware and Software, Engineered to Work Together