PROCESSOR_IDENTIFIER: command not found

Kelly O'Hair kelly.ohair at oracle.com
Mon Jun 7 18:39:14 UTC 2010


On Jun 6, 2010, at 11:00 PM, David Holmes wrote:

> cowwoc said the following on 06/07/10 15:25:
>>> That being said, I don't think the PROCESSOR_IDENTIFIER error is  
>>> specific
>>> to Make. I noticed the makefile contains echo $ 
>>> (PROCESSOR_IDENTIFIER).
>>> Running this under cygwin's bash gives:
>>>
>>>> echo $(PROCESSOR_IDENTIFIER)
>>> bash: PROCESSOR_IDENTIFIER: command not found
>>>
>>> while:
>>>
>>>> echo $PROCESSOR_IDENTIFIER
>>> Intel64 Family 6 Model 15 Stepping 11, GenuineIntel
>>>
>>> Where can I get make 3.10 that will work? How do I fix the
>>> PROCESSOR_IDENTIFIER error?
>>>
>> Shouldn't jdk_generic_profile.sh use braces instead of round  
>> brackets? That
>> is, ${PROCESSOR_IDENTIFIER} instead of $(PROCESSOR_IDENTIFIER)? Is  
>> this a
>> bug in the makefile?
>
> It's a bug in the script - a typo introduced by this recent changeset:
>
> changeset:   970:90873391a0e0
> parent:      945:fea0898259ae
> user:        ohair
> date:        Thu Mar 26 16:52:00 2009 -0700
> summary:     6822374: Windows: detect X64 when PROCESSOR_IDENTIFIER  
> contains EM64T or Intel64
>
> diff -r fea0898259ae -r 90873391a0e0 make/jdk_generic_profile.sh
> --- a/make/jdk_generic_profile.sh       Tue Mar 17 13:45:01 2009 -0700
> +++ b/make/jdk_generic_profile.sh       Thu Mar 26 16:52:00 2009 -0700
> @@ -174,7 +174,8 @@ else
>
>   # Check CYGWIN (should have already been done)
>   #   Assumption here is that you are in a shell window via cygwin.
> -  if [ "$(echo ${PROCESSOR_IDENTIFIER} | fgrep AMD64)" != "" ] ; then
> +  proc_arch=`echo "$(PROCESSOR_IDENTIFIER)" | expand | cut -d' ' - 
> f1 | sed -e 's at x86@X86 at g' -e 's at Intel64@X64 at g' -e 's at em64t@X64 at g' -e  
> 's at EM64T@X64 at g' -e 's at amd64@X64 at g' -e 's at AMD64@X64 at g' -e  
> 's at ia64@IA64 at g'`
> +  if [ "${proc_arch}" = "X64" ] ; then
>     windows_arch=amd64
>   else
>     windows_arch=i586

My fault. I'll file a bug and fix this.  Sorry about that.

I don't think any of our internal automated build processes use this  
script, never did.
I added it as more of a form of documentation on the settings needed,  
and had assumed people would
copy it and edit to suit their purposes. It was originally created  
many years ago, pre-OpenJDK. :^(
If I can figure out a way to somehow test it, I'll try and create some  
kind of test. But I'll fix it first.

Anyone care to be the reviewer?

6959116: Fix regression in make/jdk_generic_profile.sh  
(PROCESSOR_IDENTIFIER)

diff --git a/make/jdk_generic_profile.sh b/make/jdk_generic_profile.sh
--- a/make/jdk_generic_profile.sh
+++ b/make/jdk_generic_profile.sh
@@ -174,7 +174,7 @@

    # Check CYGWIN (should have already been done)
    #   Assumption here is that you are in a shell window via cygwin.
-  proc_arch=`echo "$(PROCESSOR_IDENTIFIER)" | expand | cut -d' ' -f1  
| sed -e 's at x86@X86 at g' -e 's at Intel64@X64 at g' -e 's at em64t@X64 at g' -e  
's at EM64T@X64 at g' -e 's at amd64@X64 at g' -e 's at AMD64@X64 at g' -e  
's at ia64@IA64 at g'`
+  proc_arch=`echo "${PROCESSOR_IDENTIFIER}" | expand | cut -d' ' -f1  
| sed -e 's at x86@X86 at g' -e 's at Intel64@X64 at g' -e 's at em64t@X64 at g' -e  
's at EM64T@X64 at g' -e 's at amd64@X64 at g' -e 's at AMD64@X64 at g' -e  
's at ia64@IA64 at g'`
    if [ "${proc_arch}" = "X64" ] ; then
      windows_arch=amd64
    else


-kto

>
> David Holmes
> -----------
>
>
>> Another thing I learned is that if you get:
>> "cygpath: cannot create short name of \\?\C:\Program Files\Microsoft
>> SDKs\Windows\v7.1" it means the referenced path does not exist.  
>> What a
>> misleading error message :) I initially thought there was something  
>> wrong
>> with the argument passed to cygpath...
>> Gili




More information about the build-dev mailing list