Home

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

 General

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®?

 

Answer

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

/vobs/test/tools> clearmake -C gnu
HOME="/vobs/test/tools/"
MODEL="/vobs/test/models/test.rtmdl"
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/
bldr.audit.host1.01086.00"
*** 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.

 

Symptom

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.

 

Cause

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 7.0.1.3 and Samba 3.3.2 source code. In these tests, in our virtual-machine-based environment, the build times were as follows:

Platform

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:

Subsystem

What is being traced

clearmake

omake


Switches for debugging general build problems:


bldr_cm


Shopping (including statistics) and configuration matching

X

X


bldr_obj


Configuration matching on a per-object basis

X

X


bldr_cr


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

X

X


bldr_save_audit_files


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.

X

X


bldr_tgt


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

X


mfc


Lists of makefiles being processed (including BOS files)

X


Switches for debugging parallel/distributed building problems:


bldr_host


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

X


abe_exe


Abe start-up

X


bldr_comm


Command-line arguments to abe; also clearmake sleep tracing

X


bldr_ctl


Build scheduling

X


bldr_exec


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

X


Miscellaneous Switches:


bldr


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

X


bldr_macro


Makefile macro processing

X


bldr_script


Build script processing, including hash value used for shopping

X


bldr_vob


Writing of CRs and DOs to the VOB

X

X


mf/mf_io


Include file processing

X


mf_lexer


Lexer processing

X


mf_stat


Clearmake "stat" calls

X


mf_tgt


Makefile target parsing

X


mf_tgt_parse


Lists of targets defined

X


mf_utl


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

X

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


Example:

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

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

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.

Example:

·         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.

 

Solution

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.

WORKAROUND:

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


Example:
------------------------------------

EXPECTED RESULTS USING COPY:

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
.cmake.state
do.txt@@03-May.13:08.251
lost+found@@\main\0                  Rule: \main\LATEST

makefile.txt
omake_dir


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
do.txt



M:\dynamic_view\test_vob\omake>cleartool ls

do.txt

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

.net

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.

 

Cause

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.

 

Solution

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

WORKAROUND:

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.