##########################################################################

#                                                                        #
# © Copyright IBM Corporation 2001, 2008 All rights reserved.            #
#                                                                        #
# This program and the accompanying materials are made available under   #
# the terms of the Common Public License v1.0 which accompanies this     #
# distribution, and is also available at http://www.opensource.org       #
# Contributors:                                                          #
#                                                                        #
# William Spurlin - Initial version and revisions                        #
#                                                                        #

##########################################################################


The ClearCase::CtCmd module requires Perl v5.6.1 or v5.8 or later. The ClearCase::CtCmd module requires that ClearCase be installed:

Platform ClearCase Version


Solaris 2.7, 2.8, 2.9,2.10 2002.05 or later

HP-UX 11.00, 11.11            2002.05 "  "
RH Linux 7.2, 7.3, 8.0, 9     2002.05 "  "
AIX 4.3.3, 5.1, 5.2           2002.05 "  "
Windows XP Pro                2002.05 "  "
Windows 2000                  2002.05 "  "
Windows NT 4.0                2002.05 "  "

Build and Install


Build and installation is by the usual method:

perl Makefile.PL
make
make test
make install

For verbose output when making test, set environment variable TEST_VERBOSE=1 and run "make -e test".

To install the module into non-default location, do perl Makefile.PL PREFIX=/<your_home_directory>/. This may be useful for testing "make install".

Note: The CC class is for test purposes only, although it may be consulted for an indication of how ClearCase::CtCmd may be used.

When the MVFS is not installed, e. g. with ClearCase LT, it is not possible to "make test". However, in most cases, passing directly from a successful "make" to "make install" will be satisfactory.

CtCmd extracts various parameters from the perl config file. This includes the compiler and the compiler/linker flags. If you are building this on a different compiler than the compiler that perl was built with, you need to override the compiler and linker options/flags. perl Makefile.PL CC=gcc <appropriate flags>= .


Platform Notes


UNIX/Linux:

Set environment variable ATRIA_ROOT to the ClearCase installation path if different from /usr/atria: Linked install: set ATRIA_ROOT to network path.

If /var/tmp is not available, set environment variable CC_CTCMD_TMP to the path of an alternative directory.

Solaris

CtCmd has used a Sun "interposing filter", implemented in libzuba.so, to tell the runtime loader to load RPC functions from the correct library. However, interposing filters are broken on Solaris 5.8 and 5.9 by some recent (as of 2005-03-31) Solaris patches. See Sun defect 510560: "ld.so.1 gets a little too enthusiastic with interposition". If CtCmd is broken by one of the patches, below, or one of the corresponding Solaris 2.8 patches, it may be possible to set environment variable LD_PRELOAD to /usr/ucblib/librpcsoc.so to run CtCmd.

Note that ClearCase release 7 eliminates the need for the interposer and libzuba.so. Currently we cannot remove it as we must stay backwards compatible with pre-7 releases.

Note that CtCmd functions normally with certain Solaris 5.9 patches: 112963-07 work
112963-09 work
112963-12 work
112963-13 doesn't work
112963-14 doesn't work
112963-17 work
112963-18 doesn't work
112963-19 doesn't work

If the wrong Perl interpreter or C compiler is found, please do ln -s <path to Perl> perl; ln -s <path to cc> cc, or add the paths to those programs to PATH.

If using Solaris 5.8 /usr/bin/perl and trying to build the Module with gcc, Set environment variable CC_CTCMD_GCC=<any non null value>. This might work with other Solaris Perls/gcc, as well.

AIX

The only way to run CtCmd with Perl 5.8.6 is to rebuild Perl 5.8.6 with the library link order changed to have -lc before -lnsl.

Win32

Substitute "nmake" for "make" when building and installing.

There must be an environment variable:
TMP=<path to system temporary storage, full control by everyone>.

The path to Microsoft Visual Studio and to Perl must be in the PATH.

The user must be able to run "Perl", "cleartool", "cl" and "dumpbin" from the command line without error messages before attempting installation. The environment variables "inc" and "lib" must be set to the paths where the MS Visual Studio C include files and libraries are kept. The user's PATH must include the path to the MSDEV ...\common\bin and ...\bin directories, as well as the path to cleartool and the Clearcase *.dll's. Perl, version 5.6.1 or greater must be installed, and the installed Perl must have the necessary header and other files to allow installation of a Perl Module.

If cmdsyn.lib or ks.lib is not being created it may be because the path to "dumpbin" or the path to the Clearcase libraries is not in the user's PATH.

An error message "This shared resource does not exist" at the beginning of t/t1_createArch when nmaking test indicates that a view previously mapped then unmapped is inaccessible. Pressing <enter> should allow the test to continue.

Setting AUTODEF_DEBUG=<any non null value> will produce debugging output to assist in determining if ks.lib and cmdsyn.lib are being produced correctly.

In case of "nmake test" failure to create test view: "System error 67 - The network name cannot be found":

If the default view net name, "view", has been set to some other value with registry key HKEY_LOCAL_MACHINE:SYSTEM\CurrentControlSet\Services\Mvfs\Parameters\view_netname, set environment variable CC_VIEW_NETNAME=\\<view net name>\ before running "nmake test", or running the tests in the t directory explicitly. For example, "nmake test", or running the tests in the t directory explicitly. For example,

set CC_VIEW_NETNAME=\\net\

Note that there are no quotes around \\net\ .