IBM Support

PK32565: %set not interpreted correctly in build script of config record

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Problem Description:
    config record lists wrong build script, as  "%set"  not being
    interpreted correctly when preceding a Macro .
    Steps to repro:
    This can be demonstrated with the following makefile (file name
    test.mak):
    
    
        b.txt : a.txt
    
      %if "A" == "A"
    
       %set MACRO_1=A
    
      %else
    
       %set MACRO_1=B
    
      %endif
    
      copy /Y $(.SOURCE) $(.TARGET)
    
      echo some text > sibling_do_$(MACRO_1).txt
    
    
    Running the command: omake -f test.mak, produces the output:
    
    
    
     %set MACRO_1=A
    
     copy /Y a.txt b.txt
    
      1 file(s) copied.
    
     echo some text > sibling_do_A.txt
    
    
    
    After that,  the current directory contains:
    
    
    
     2006-10-04  09:29 AM       0 a.txt
    
     2006-10-04  09:29 AM       0 b.txt
    
     2006-10-04  09:36 AM      12 sibling_DO_A.txt
    
     2006-10-04  09:36 AM     171 test.mak
    
     2006-10-04  09:36 AM   1,820 .cmake.state
    
    
    
    The config record of Derived Object b.txt contains:
    
    
    
    Derived object:
    \system\gradient\src\b.txt@@04-Oct.09:29.2147484409
    Target b.txt built by xxx
    Host "xxx" running NT 5.1 (i586)
    Reference Time 04-Oct-06.09:36:25, this audit started
    04-Oct-06.09:36:25
    View was
    
    xxx:D:\Data\CCase\views\xxx.vws
    Initial working directory was
    
    T:\xxx\system\gradient\src
    ----------------------------
    
    MVFS objects:
    
    ----------------------------
    
    \system\gradient\src\a.txt
    
    <04-Oct-06.09:29:41>
    
    \system\gradient\src\b.txt@@04-Oct.09:29.2147484409
    
    \system\gradient\src\sibling_DO_A.txt@@04-Oct.09:36.2147484410
    
    
    ----------------------------
    
    Build Script:
    
    ----------------------------
    
     %if "A" == "A"
    
     %set MACRO_1=A
    
     %else
    
     %set MACRO_1=B
    
     %endif
    
     copy /Y a.txt b.txt
    
     echo some text > sibling_do_B.txt
    
    ----------------------------
    
    
    
    As you can see, the build script in the config record contains
    the line:
    echo some text > sibling_do_B.txt
    
    while in fact the line: echo some text > sibling_do_A.txt
    
    has  been executed.
    

Local fix

Problem summary

  • The config record lists wrong build script, as "%set" is not
    being interpreted correctly when preceding a macro.
    

Problem conclusion

  • A fix is available in ClearCase versions
    clearcase_p2003.06.16.NT-2007A, 7.0.0.1-ifix01 and 7.1.1
    

Temporary fix

Comments

APAR Information

  • APAR number

    PK32565

  • Reported component name

    CLEARCASE WIN V

  • Reported component ID

    5724G2900

  • Reported release

    60W

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2006-10-06

  • Closed date

    2009-12-17

  • Last modified date

    2009-12-17

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    CLEARCASE WIN V

  • Fixed component ID

    5724G2900

Applicable component levels

  • R711 PSY

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSSH27","label":"Rational ClearCase"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.0.W","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
17 December 2009