How do I

Soft - is your software and documentation
Asset - is something that must be protected
Management - is what we do
Enterprise - is the capability
Computing - is the power
Services - are what we provide

clearmake omake “How do I” covers: (Last updated 5-Jun-09)

Ř  General – build performance, etc...

Ř  Trace Build toolstracing clearmake, omake, etc...

Ř  Derived objectswindows move and rename etc...

Ř  .net – in relation to clearmake and omak, eetc...


Table of contents

clearmake omake “How do I” covers: (Last updated 5-Jun-09) 1

Table of contents. 1

General. 1

1.       How do I – understand about bldr.audit files. 1

2.       How do I – understand the dramatic clearmake build performance degradation after upgrading to Red Hat Enterprise Linux 5  2

Trace Build tools. 2

3.       How do I – trace IBM Rational ClearCase build tools. 2

Derived objects. 4

4.       How do I – understand how clearmake decides which derived object to winkin. 4

5.       How do I Windows move or rename command run on a ClearCase DO yields unexpected results. 4

.net. 6

6.       How do I – understand about using omake or clearmake with makefiles that are generated by VS.NET. 6


1.    How do I – understand about bldr.audit files

What are the bldr.audit files and how do they assist support in troubleshooting audited builds when using IBM® Rational® ClearCase®?



Here is an example build failure where the bldr.audit file may be referenced:

/vobs/test/tools> clearmake -C gnu
COMPONENT="Component View::test_view" RTmakefiles
`RTmakefiles' is up to date.
Running: clearmake -C gnu RTcompile
        rtperl "/vobs/test/tools/RoseRT/codegen/chdir_run.pl"
src clearmake -C gnu -k -s RTgenerate
clearmake: Error: Unable to synchronize existing MVFS audit - No space left on device
Audit file pathname: "/tmp/
*** Error code 1
clearmake: Error: Unable to stop MVFS audit - No space left on device
clearmake: Error: Build script failed for "RTgenerate"

Error: Build failed status 0x1

The bldr.audit files keep track of what is happening during a build when it fails.

These files can only be read using an internal support tool which helps engineering diagnose specific build audit related problems when all other troubleshooting has failed.

2.    How do I – understand the dramatic clearmake build performance degradation after upgrading to Red Hat Enterprise Linux 5

This technote explains an issue that can occur after upgrading to Red Hat Enterprise Linux 5 Update 2 where IBM Rational ClearCase (CC) clearmake builds using remote dynamic views take nearly twice the time as they did before the upgrade.



After upgrading to Red hat Enterprise Linux 5 Update 2, clearmake builds using remote dynamic views take nearly twice the time as they did before the upgrade.



The cause of this issue is unknown at this time.


Diagnosing the problem

To verify the issue is occurring, do both of the following:

1.     Perform a test build using a Red Hat Enterprise Linux (RHEL) 4 system. Ensure that the test build is run with the -u option to build all objects in the view. Compare with a clearmake -u build on a RHEL 5 host. There will be a nearly twofold performance difference if you are encountering this issue.

2.     Perform a second set of tests using local dynamic views. On the RHEL 4 system, the local view builds should be 20-30% faster than a remote view. On the RHEL 5 host, the local view build will be at least 2x faster.

Note 1: The tests in question were performed on single-processor build hosts in a virtual-machine environment. Comparable results should occur in a production environment based on physical, as opposed to virtual, machines.

Note 2: In order to mirror actual product builds, internal performance testing for this issue is being done using ClearCase and Samba 3.3.2 source code. In these tests, in our virtual-machine-based environment, the build times were as follows:


Local view build time

Remote view build time

Red Hat Linux 4

15 min, 56 sec

Red Hat Linux 5

23 min, 33 sec.


Trace Build tools

3.    How do I – trace IBM Rational ClearCase build tools

Often you can get enough trace information to effectively troubleshoot a build problem by using the clearmake -d or omake -d switch that is documented in the Reference Guide. However, at times this does not give Support enough detail to effectively troubleshoot a problem. For these times, you can set ClearCase environment variables before running clearmake or omake to collect more information, specifically:

TRACE_SUBSYS <subsystem>
TRACE_VERBOSITY <number 1-4>

Where the TRACE_VERBOSITY value can be between 1-4, and 4 is the highest level of verbosity.

Note: Setting a high verbosity while tracing all subsystems will generate *lots* of output.

TRACE_SUBSYS can be the value * meaning all subsystems, or can be some combination of the build values below:


What is being traced



Switches for debugging general build problems:


Shopping (including statistics) and configuration matching




Configuration matching on a per-object basis




Audit processing, including incremental target CR merging; useful at verbosity 3 for seeing what's in the audit file to track down audit problems




Very useful for tracking down audit problems; clearmake will save the audit files and print out the pathnames. Be sure to collect the saved files.




Additional tracing of why clearmake rebuilds instead of reuses. Also see bldr_cm and bldr_obj, which are more comprehensive.



Lists of makefiles being processed (including BOS files)


Switches for debugging parallel/distributed building problems:


Selection of acceptable abe hosts (based on settings in bldserver.control files)



Abe start-up



Command-line arguments to abe; also clearmake sleep tracing



Build scheduling



Build script execution, including build script return codes during parallel builds


Miscellaneous Switches:


Build initialization and termination processing, including VOB cache statistics on termination



Makefile macro processing



Build script processing, including hash value used for shopping



Writing of CRs and DOs to the VOB




Include file processing



Lexer processing



Clearmake "stat" calls



Makefile target parsing



Lists of targets defined



Execution of shell commands (e.g. as a result of ':sh=' in Sun compat mode, '!=' in SGI pmake/smake or `` in AIX mode)


Note: Setting multiple subsystems is possible by using a COLON separated list (no spaces).


UNIX® and Linux®:
setenv  TRACE_SUBSYS  bldr_obj:bldr_cr:bldr_tgt

Microsoft® Windows®:
set  TRACE_SUBSYS=bldr_obj:bldr_cr:bldr_tgt

Derived objects

4.    How do I – understand how clearmake decides which derived object to winkin

Clearmake will shop for DOs in the following way:

So if there are two shareable DOs, DO1 and DO2, here are the possible scenarios and resulting winkin order:

Both DO1 and DO2 are unshared: Whichever is newer is winked-in.

5.    How do I Windows move or rename command run on a ClearCase DO yields unexpected results

After a derived object (DO) is generated using Omake or Clearmake on Windows, using the operating system commands move or rename on the DO fails to create a normal view-private object as expected.


After moving the DO, the view-private object appears in the output of cleartool ls as a DO.

Note: This problem interferes with processes that attempt to checkout and move data in to a new version of existing elements in the target directory.


·         Create a DO:

M:\dynamic_view\test_vob>omake -f makefile.txt
echo hi > do.txt

Defect APAR PK29473 has been submitted to address this behavior.



The decision was made by Product Management to exclude the resolution of this defect from future upgrades and releases due to the significant architectural changes required to implement the solution.


Use the copy command instead of the move command to have the DO be seen as a view-private object.



M:\dynamic_view\test_vob>omake -f makefile.txt
echo hi > do.txt

M:\dynamic_view\test_vob>cleartool lsdo

03-May.13:08   "do.txt@@03-May.13:08.251"

M:\dynamic_view\test_vob>cleartool ls
lost+found@@\main\0                  Rule: \main\LATEST


M:\dynamic_view\test_vob>copy do.txt omake
        1 file(s) copied.

M:\dynamic_view\test_vob>cd omake_dir

M:\dynamic_view\test_vob\omake>dir /b

M:\dynamic_view\test_vob\omake>cleartool ls


Note: The DO appears as a view-private file (do.txt) as expected.


6.    How do I – understand about using omake or clearmake with makefiles that are generated by VS.NET


This technote details a known change with Microsoft® Visual Studio® 7.0 (VS.NET) that no longer supports exporting makefiles for use with IBM® Rational® ClearCase® omake or clearmake.



The following is an excerpt from Visual Studio 7.0 help. The note states that it does not support exporting makefiles from the active project in the development environment.

ClearCase v2002.05.00 and later releases fully support the integration with Visual Studio 7, but this issue is a limitation of the IDE and needs to be directed to Microsoft for further review.

Since the makefiles can no longer be exported from Visual Studio 7, then the makefiles must be coded manually.

Excerpt from Microsoft Visual Studio 7.0 help:

"Visual C++ Concepts: Building a C/C++ Program - Building External Projects

NOTE: Visual C++ no longer supports the ability to export a makefile for the active project from the development environment.  Use Devenv Command Line Switches to build Visual Studio projects at the command line."

Change request, (RFE) RATLC00608303, is open concerning clearmake/omake being able to work with VS.NET.



The change request is still open to examine possible technical solutions for this functionality.


The makefiles must be coded manually being that they can no longer be exported from Visual Studio 7.

One such proposal to get the configuration record for building VS7.0, it for you to compose a makefile wrap VS7.0 command line. Then, you can get the CR record.

For example, the makefile looks like:

filelist.txt: "C:\Program Files\Microsoft Visual Studio.NET\Common7\IDE\devenv.exe" /build debug ltdvradio.vcproj-Lianga17094@email.mot.com

Note: There is no additional information available to assist with creating the makefile wrap VS7.0 command line. This information is only intended to serve as a pointer to help you derive a feasable solution.



This website is published "as is". There is no warranty of any kind (express or implied) as to the operation of our site, the accuracy of the information or the services or products referred to on it. All warranties are excluded as far as permitted at law. Neither we nor any third party will be liable for any losses or damage that may result from use of the website or as a consequence of any inaccuracies in, or any omissions from, the information which it contains.