Bull
S.A.
Customer Service Bulletin Worldwide
Information
Service
Document: 50002049
Origin: XPR
Revision: 0
Dossier: 500
Issued: 13-Dec-2002
Expired: Indef
File Control: DPX/20 ( ESCALA ESTRELLA DPX/20) LANGUAGES
Product: LANGUAGES
Models: ESCALA    
     
Subject: VisualAge C++ 6.0 for AIX
Worldwide Customer Letter for IPLA Software - RFA 33359 - Revision 1 - 02/23/00 (IBM Guide 14.11)  

VisualAge C++ Professional Version 6.0 for AIX


I. OVERVIEW

II. HIGHLIGHTS

III. DESCRIPTION
 

IV. OPERATING ENVIRONMENT V. DELIVERY CONTENTS VI. INSTALLATION INFORMATION VII. Installing VisualAge C++


VIII. MAINTAINABILITY & SUPPORT STRATEGY

IX. MIGRATING TO VisualAge C++ VERSION 6.0 for AIX

I. OVERVIEW

The VisualAge C++ Professional for AIX, V6.0 compiler allows you to generate and debug high performance and efficient C and C++ software applications for AIX.

VisualAge C++ Professional for AIX includes a makefile-based, command- line C++ compiler that supports the latest ANSI/ISO 1998 C++ standard. A complete implementation of the ANSI C++ Standard Library including the Standard Template Library (STL) is also included. Both 32-bit and 64-bit architecture and optimization technologies are supported.

VisualAge C++ Professional for AIX includes a complete implementation of the latest C for AIX compiler that allows you to write both C and C++ applications or to extend an existing C application using C++. Also included in VisualAge C++ is the Distributed Debugger that allows you to visually debug programs running locally, remotely, or in a client- server environment.

For more information on C compiler part Version 6.0 consult the following documentation
http://epicentre.frec.bull.fr/opensupdb/TSBS/500.02042.00.csb/

Additional new features and enhancements in VisualAge C++ Version 6.0 for AIX, include:
 


VisualAge C++ Professional for AIX continues to improve while maintaining adherence to the latest international standards and industry specifications.
 
 

II. HIGHLIGHTS

Enhancements in V6.0 offers :

III. DESCRIPTION


The VisualAge C++ Professional for AIX, V6.0 software is a highly productive, and powerful development environment for building C and C++ applications.

1999 C Standard

VisualAge C++ Professional for AIX, V6.0 builds on official industry standards, so your code can be ported easily.

The ISO/IEC 9899:1999 International Standard (also known as C99) specifies the form and establishes the interpretation of programs written in the C programming language. This is the second edition of the standard.
This update is designed to enhance the capability of the C language, provide clarifications and incorporate technical corrections to the previous edition of the standard. Not all runtime functions and facilities required by the ISO/IEC 9899:1999 International Standard are supported on all the operating system levels that can run this version of the compiler. The availability of system header files provides an indication of the support.

The first edition, which is supported by VisualAge C++ for AIX, V6.0, is ISO/IEC 9899:1990 (also known as C89).

The C99 Standard offers a number of additional language functions including:
 


This international standard is designed to promote the portability of C programs among a variety of implementations.

The -qlanglvl compiler option has been enhanced to support all of the available language levels that you can use to compile your code within VisualAge C++. These include the strict conformance to the latest C99 Standard, extended conformance to C99, conformance to the previous C89 Standard or enabling of C99 with the universal character set. VisualAge C++ offers you the flexibility to compile your code to the language level that you need.

1998 C++ Standard

The ISO/IEC 14882:1998 International Standard (also known as Standard C++) specifies the form and establishes the interpretation of programs written in the C++ programming language. This International Standard is designed to promote the portability of C++ programs among a variety of implementations. ISO/IEC
14882:1998 is the first formal definition of the C++ language. In V5.0 (the previous release) of VisualAge C++ Professional for AIX, the C++ compiler supported this latest 1998 ISO/IEC Standard. In this release, V6.0, support for the approved clarifications of 1998 ISO/IEC Standard have been implemented, bringing the C++ compiler within VisualAge C++ for AIX, V6.0 to the latest level of the standard possible at this time.

OpenMP

The OpenMP is an industry specification describing a common set of APIs which support multiplatform symmetric multiprocessing (SMP) programming in C, C++ and Fortran on all architectures, including UNIX platforms and Windows NT platforms. Jointly defined by a group of major computer hardware and software vendors, OpenMP is a portable, scalable programming model designed to provide SMP programmers with a simple and flexible interface for developing shared-memory parallel applications for platforms ranging from the desktop to the super computer.

Both the C compiler (C for AIX) and the Fortran compiler (XL Fortran for AIX) has had support for OpenMP in previous releases. Now the C++ compiler within VisualAge C++ for AIX, V 6.0 also supports the OpenMP Industry Specification. C and C++ support OpenMP Specification 1.0.

VisualAge C++ contains OpenMP pragma directives, library functions, and environment variables that exploit shared memory parallelism. OpenMP pragmas fall into four general categories:

   1. Parallel Constructs

     These pragmas enable the programmer to define the parallel regions in which work is done by threads in parallel. Most of the OpenMP directives either statically or dynamically bind to an enclosing parallel  region.

   2. Worksharing Constructs

     This category of pragmas enables the programmer to define how work will be distributed across the threads in a parallel region.

   3. Synchronization Constructs

     This category enables the programmer to control synchronization among threads.

   4. Data Visibility

     This category of pragmas enables the programmer to define the private/shared context of data within a parallel region.

For more information about the OpenMP Specification, visit the OpenMP Web site at:
     http://www.openmp.org

Support for a Subset of Features Related to GNU C/C++

GCC is an open-source compiler collection for C, C++, Fortran and other languages. In order to help with the porting of code that was originally written for GCC, a subset of features related to GNU C/C++ are supported by VisualAge C++ for AIX. Other GNU C/C++ features are recognized (accepted and ignored).
This will help you minimize the number of changes that you need to make to your GCC source code to ensure that it compiles successfully using VisualAge C++ for AIX.

32-bit and 64-bit Application Development

You can use VisualAge C++ for AIX to develop both 32-bit and 64-bit applications. VisualAge C++ provides 64-bit pointer and 64-bit addressability support for SMP and serial code. High optimization levels, interprocedural analysis, and SMP are supported for 64-bit code.

Optimizations Exploiting the PowerPC Architecture

VisualAge C++ for AIX, V6.0 supports the PowerPC architecture (includes the POWER4 architecture)
The new -qarch=pwr4 and -qtune=pwr4 suboptions support POWER4 architecture.
The -qarch=pwr4 suboption allows the compiler to exploit the instruction set of POWER4 and generate code optimized for this latest architecture.
The -qtune=pwr4 suboption instructs the compiler to tune the optimizations of the generated code to the POWER4 architecture.

VisualAge C++ for AIX, V6.0 also supports a number of special built-in functions for the PowerPC architecture.

Enhanced Template Handling

Template instantiation has been improved for faster compilation and the generation of smaller objects. The new options -qtemplaterecompile and -qtemplateregistry are provided to enable this improved template instantiation.

New Compiler Options and Pragmas

VisualAge C++ Professional for AIX, V6.0 introduces a number of new compiler options and pragmas for increased efficiency.

     New compiler options include:


New pragmas
          The new #pragmas execution_frequency (very_low) directive specifies infrequently executed code.
          The new #pragma snapshot directive sets a debugging breakpoint at the point of the pragma and defines a list of variables to examine when program execution
          reaches that point.
          The new #pragma pack directive allows the user to modify the alignment rule for members of structures
          The #pragma unroll directive, which specifies whether and how the body of a loop can be unrolled, can now be used in both C and C++ code.
          New pragmas are provided for OpenMP parallel processing.

Withdrawal of Function

VisualAge C++ Professional for AIX, V5.0 contained two C++ compilers: a traditional command-line compiler and an incremental compiler, accompanied by an associated Integrated Development Environment (IDE) and set of tools.

VisualAge C++ Version 6.0 withdraws the following components from this product:

- Incremental C++ compiler

- IDE and the following related tools:


Comprehensive Help System

VisualAge C++ Professional for AIX help is online and in HTML format, so if you've browsed the World Wide Web, you already know how to use it effectively. This online help provides you with information on every component in VisualAge C++. It is optimized for fast access to information, and provides fuzzy and precise
full-text search. Most information is also provided in Adobe Acrobat PDF format.

Also provided as part of the help system is transition information to assist you in migrating from the Open Class Library to the C++ Standard Library.

Text help is available directly on your command line. This help will give you a quick reference for the format and argument description for all C and C++ compiler options.
 

IV. OPERATING ENVIRONMENT

Hardware Requirements: VisualAge C++ Version 6.0 for AIX

Software Requirements: VisualAge C++ Version 6.0 for AIX


VisualAge C++ Professional for AIX, V 6.0 produces applications that run in the AIX V4.3.3 and AIX V5 environments.
 

AIX 5.2

VisualAge C++ versions supported on AIX 5.2:

VisualAge C++ Professional for AIX, V6.0.0 is a fully supported version of this product. Install V6.0.0 by using your existing V6.0.0 CDs, and then apply APARs IY34533, IY34534, IY34536, IY34538, and IY34623 to complete the installation on AIX 5.2

VisualAge C++ Professional for AIX, V5.0.2 is a fully supported version of this product. Install V5.0.2 by using your  existing V5.0.2 CDs, and then apply APARs IY34533, IY34534, IY34535, IY34537, and IY34623 to complete the installation on AIX 5.2
 

C  compiler versions supported on AIX 5.2:

C for AIX, V6.0.0 is a fully supported version of this product. Install V6 by using your existing V6.0.0 CDs, and then  apply APARs IY34533, IY34534, IY34536, and IY34623 to complete the installation on AIX 5.2.

C for AIX, V5.0.2 is a fully supported version of this product. Install V5 by using your existing V5.0.2 CDs, and then  apply APARs IY34533, IY34534, IY34536, and IY34623 to complete the
installation on AIX 5.2.

These APARS will be available on our PTFs server :
http://www-opensup.bull.com/software/languages

Upgrading the AIX Operating System

The minimum operating system requirement for VisualAge C++ Professional for AIX, Version 6.0 is AIX 4.3.3. When you upgrade your operating system (for example, to AIX 5.2), you need to consider the impact on VisualAge C++ for AIX.

There are two possible migration paths.

Recommended migration path:
1. Uninstall VisualAge C++ for AIX.
2. Upgrade your operating system.
3. Install VisualAge C++ for AIX.
Brief migration path:
1. Upgrade your operating system.
2. Make sure all filesets support the correct level of operating system.
For example, if you upgraded from AIX 4.3.3 to AIX 5.1, and you have a fileset named this.aix43.fileset, you must install this.aix50.fileset.
 

xlC.rte
If migrating to AIX 5L Version 5.2 from AIX version 4.2.x or 4.3.x, check the level of xlC.rte by using the following command :
lslpp -L xlC.rte
If the xlC.rte level is earlier than 5.0.2.x, you must apply APAR IY17981 before migrating to AIX 5L version 5.2. Without this APAR installed, the migrated system could fail to boot.
 
 

V. DELIVERY CONTENTS

 

Software

 
CLGG031-SRCE VisualAge C++ Version 6.0 - Initial License (incl. Media & Doc and 1 user)
CLGG031-RA0A   VisualAge C++ Version 6.0 - per user
CLGG032-SR0E Upgrade to VisualAge C++ V6.0 - Initial License - (incl. Media & Doc and 1 user upgrade)
CLGG032-RA1A  Upgrade to VisualAge C++ V6.0 - per user

 

Documentation


VisualAge C++ Version 6.0 provides you with extensive online documentation.
To view the online help you need to have a frames-capable browser such as Netscape Communicator Version 4.04 (or later) installed on your system.

Much of the online documentation is also available in Adobe Portable Document Format (PDF) format.
You can view and print this information using the Adobe Acrobat reader.
If you do not already have the Acrobat reader program installed, you can download if free form Adobe's website at http://www.adobe.com. The Adobe PDF files are in the /usr/vacpp/pdf files after installing VisualAge C++ Version 6.0.

If you are planning to migrate existing projects to VisualAge C++ Version 6.0, we strongly recommend that you read the pdf format files provided in the package.

To start the help for VisualAge C++ Version 6 from the command line, run the following command:

  /usr/vacpp/bin/vacpphelp
 
 

VI. INSTALLATION INFORMATION

Installation Summary

License Use Management: VisualAge C++ for AIX, uses License Use Management (LUM) to control the license for the product. Further information on LUM can be found at the following Web site.

http://epicentre.frec.bull.fr/software/languages/C/

click on LUM

License Use-Management Overview


This chapter describes the license management system that is used by VisualAge C++ for AIX.  This system is called License Use Management (LUM) Version 4 and is similar in features to iFOR/LS.

LUM is based on the concept of "Customer-Managed System".  This means the customer DOES NOT NEED TO CALL A KEY CENTRE for licenses.  THE LUM PRODUCT LICENSE CERTIFICATES ARE SUPPLIED WITH THE PRODUCT
(see "ENROLLING PRODUCT LICENSE CERTIFICATE" chapter).

Important:

LUM is automatically installed on systems running AIX Version 4.3 or higher as a component of the Base Operating System (BOS).  LUM must be installed manually on AIX Version 4.2 systems. After installing LUM, a LUM server must be configured.

To summarize, the following steps are required prior to using the VisualAge C++ for AIX, product:

1)  Install LUM and VisualAge C++  for AIX
2)  Configure LUM License Server(s)
3)  Enroll LUM product license certificate which comes with the product

Note

Installation and configuration of LUM is only required ONCE.
IF YOUR SYSTEM ALREADY HAS LUM INSTALLED AND CONFIGURED, YOU SKIP TO "ENROLLING PRODUCT LICENSE CERTIFICATE" section of this document.

Although information regarding the above steps are contained in this document, it is RECOMMENDED THAT USERS READ THE "USING LICENSE USE MANAGEMENT RUNTIME FOR AIX" documentation which comes with LUM (see "OBTAINING LUM" section.)

Another reference is the "README.ARK" documentation which comes with LUM (see "OBTAINING LUM" section.)  This document contains the latest information on LUM and is very useful resource for obtaining LUM information.
 
 

Obtaining LUM


As previously indicated, LUM runtime is included with AIX Version 4.3 and higher and is automatically installed.

A version of LUM is available with this product on the CD-ROM.  Insert the CD-ROM into the CD-ROM drive.  Mount the CD-ROM as follows:

The LUM installation images are available from several sources
 On the WEB at:
http://epicentre.frec.bull.fr/software/languages/C/
click on LUM

A version of LUM is available with this product on the CD-ROM.  Insert the CD-ROM into the CD-ROM drive.  Mount the CD-ROM as follows:

    a)  As root, invoke "smit".
    b)  Select "System Storage Management (Physical & Logical Storage)",
        press the "enter" key.
    c)  Select "File Systems", press the "enter" key.
    d)  Select "Add / Change / Show / Delete File Systems", press the "enter"
        key.
    e)  Select "CDROM File Systems", press the "enter" key.
    f)  Select "Add a CDROM File System", press the "enter" key.
    g)  Enter the "DEVICE" name (e.g. "cd0").
    h)  Enter the "MOUNT POINT" where you would like to mount the CD-ROM
        (e.g. "/cdrom").
    i)  Press the "enter" key.
    j)  Exit "smit".

The LUM installp images are available in the sub-directory "lum"   indicated by the mount point of the CD-ROM (e.g. "/cdrom/lum".)
 

LUM Runtime Filesets


License Use Runtime includes several filesets which are used during the installation of LUM (see "INSTALLING LUM" section.)  From the various filesets, only the first two or three are mandatory as indicated below.
The following is a list of the LUM filesets:

1)  "ifor_ls.base" (mandatory)

    This package contains these filesets:

    a)  ifor_ls.base.cli   - The runtime code and the command line interface
                                         for the Basic License Tool and the Configuration
                                         Tool.
    b)  ifor_ls.base.gui   -The graphical user interface for the Basic
                                         License Tool and the Configuration Tool.

2)  "ifor_ls.msg.*" (mandatory)

    The LUM message catalogs associated with the various locales.

3)  "ifor_ls.libraries" (mandatory or optional depending on OS level)

 A replacement for the License Use Runtime libraries.  This package must  be installed when you install License Use Runtime Version 4.5 on any   version or level of AIX earlier than 4.3.2.  This package is not   required on AIX 4.3.3.

4)  "ifor_ls.client" (optional)

 A dummy package that makes it impossible to install an older version of  License Use Runtime over this version.  This package and the   ifor_ls.base.cli fileset must be installed and uninstalled together.

5)  "ifor_ls.compat" (optional)

 A package required only if you run a license-enabled product that uses  License Use Runtime  Version 1.0 concurrent nodelocked licenses.  It is   provided for backward compatibility only.  To determine whether you need  to install it, check the documentation of the license-enabled products
 you use to see what kind of licenses they use.

    This package contains two filesets:

    a)  ifor_ls.compat.cli - The runtime code and command-line interface for the Nodelocked
                                         administration Tool
    b)  ifor_ls.compat.gui - The graphical user interface for the Nodelocked Administration Tool
 

Installing LUM


Installation and configuration of LUM is only required ONCE.  IF YOUR SYSTEM ALREADY HAS LUM INSTALLED AND CONFIGURED, YOU SKIP TO "ENROLLING PRODUCT LICENSE CERTIFICATE" section of this document.

To install LUM, perform the following steps:

1)  Determine which filesets are required for your environment (see "LUM  RUNTIME FILESETS"    section.)

2)  Log in as "root".

     Enter
    "cd /var/ifor" (LUM 4.5.5 or earlier)
    or
    "cd /usr/opt/ifor/ls/os/aix/bin" (LUM 4.6.0)

    If the directory does not exist, then LUM has not been installed
    (see "INSTALLING LUM" section.)

3)  Install the filesets using either AIX's System Management Interface Tool
    ("smit") or AIX's "installp" command line tool

    a)  Using "smit"

        - Invoke "smit".
        - Select "Software Installation and Maintenance", press ENTER.
        - Select "Install and Update Software", press ENTER.
        - Select "Install and Update from ALL Available Software", press ENTER.
        - Enter the DEVICE (e.g. "/dev/cd0") or directory where the LUM
          runtime installp images reside (see "OBTAINING LUM".)
        - Select the filesets that are required for your environment as
          determined in STEP 1.

    b)  Using "installp" command line tool

        - Change directory to the location where the LUM runtime installp
          images reside (see "OBTAINING LUM".)
        - Select the filesets that are required for your environment as
          determined in STEP 1.
        - Enter the following for each fileset:
          "installp -acd <fileset_name> -XFq all" where <fileset_name>
          is the fileset you would like to install.
 

Configuring License Server


After installing the LUM runtime installation images.  One or more LUM license servers must be configured.  There are two types of license servers:

- Concurrent Nodelock License Server

A Concurrent Nodelock license server supports concurrent nodelock product licenses.  A concurrent nodelock license is LOCAL to the node where the LUM enabled product (e.g. VisualAge C++ for AIX)  has been installed.  It allows a limited number of simultaneous users to invoke the enabled licensed product on the local system.
The Concurrent Nodelock licenses certificate are contained in the file "/usr/vac/cforaix_cn.lic"for C compiler, and in the file /usr/vacpp/vacpp_cn.lic for VisualAge C++ compiler.

- Concurrent Network License Server

A Concurrent Network license server supports concurrent network product licenses.  A concurrent network license is a network license that can temporarily grant a user on a client system the authority to run a LUM enabled product.

Either or both of the above license servers may be configured on a system. The number of concurrent users for the product is specified during the  enrollment of the product license certificate (see "ENROLLING PRODUCT LICENSE CERTIFICATE" section.)

Configuring LUM requires answering several questions on how you would like to set up the LUM environment.
It is RECOMMENDED THAT USERS READ THE "USING LICENSE USE MANAGEMENT RUNTIME FOR AIX" documentation which comes with LUM.
(see "OBTAINING LUM" section) prior to configuring LUM.
 The Concurrent Network licenses certificate are contained in the file "/usr/vac/cforaix_c.lic" for C compiler, and in the file /usr/vacpp/vacpp_c.lic for C++ compiler.
 

- Simple Nodelock License Certificate (does not require a license server) file /usr/vac/cforaix_n.lic for C compiler, file /usr/vacpp/vacpp_n.lic for VisualAgeC++ compiler.
 

To configure LUM, perform the following steps:

1)  Log in as userid "root" on the system where the license server will be  installed.

2)  Log in as "root".

     Enter
    "cd /var/ifor" (LUM 4.5.5 or earlier)
    or
    "cd /usr/opt/ifor/ls/os/aix/bin" (LUM 4.6.0)

    If the directory does not exist, then LUM has not been installed (see "INSTALLING LUM" section.)

3)  Invoke the LUM configuration tool by entering the command "./i4config".
    This is the command line version of the LUM configuration tool.

4)  Answer the LUM configuration questions as appropriate.
The answers to the configuration questions are dependent on the  LUM environment you wish to  create.
The following are typical answers to the configuration questions of LUM  in order to configure both Concurrent Nodelock and Concurrent Network  license servers on a single system. You may change the various answers accordingly to suit your preferred system environment.  For details  on configuring LUM, please read the "USING LICENSE USE MANAGEMENT RUNTIME  FOR AIX" documentation which comes with LUM (see "OBTAINING LUM" section).
 
 

LUM V4 Configuration Questions

The following are typical answers to the configuration questions of LUM V4 during its server installation (i.e. invocation of the i4cfg tool). Please note your system configuration may differ and the following is just one possibility:

Select 4 Central Registry (and/or Network and/or Nodelock) License Server on the first panel.
Answer y to Do you want this system to be a Network License Server too?
Answer y to Do you want this system to be a Nodelock License Server too?
Answer n to Do you want to disable remote administration of this Network License
Server?
Answer n to Do you want to disable remote administration of this Nodelock License
Server?
Select 2 Direct Binding only as the mechanism to locate a license server.
Answer n to Do you want to change the Network License Server ip port number?
Answer n to Do you want to change the Central Registry License Server ip port number?
Answer n Do you want to change the  Nodelock License Server  ip port number ?
Select 1 Default as the desired server(s) logging level.
Enter blank to accept the default path for the default log file(s).
Answer y to Do you want to modify the list of remote License Servers this system can connect to in direct binding mode (both for Administration purposes and for working as Network License Client)?
Select 3 Create a new list on the direct binding list menu.
Enter the hostname, without the domain, of the system you are configuring for LUM when prompted for the Server network name(s) .
Answer n to Do you want to change the default ip port number?
Answer y to Do you want to modify the list of remote License Servers this system can connect to in direct binding mode (both for Administration purposes and for working as Network License Client)?
Select 3 Create a new list on the direct binding list menu.
Enter the hostname, without the domain, of the system you are configuring for LUM when prompted for the Server network name(s) .
Answer n to Do you want to change the default ip port number?
Answer y to Do you want the License Server(s) to automatically start on this system at boot time?
Answer y to continue the configuration setup and write the updates to the i4ls.ini file.
Answer y o Do you want the License Server(s) to start now?

 Both Concurrent Nodelock and Concurrent Network license servers should  now be configured on your system.
 

VII. Installing VisualAge C++


Because of the complexity of the C for AIX product, not every prerequisite has been listed in these instructions. Use the preview option to verify and display the required software for your choice of components.
Checking for Required Filesets:
The following items must be installed on your system.
 
bos.adt.include Base Application Development Include Files
bos.adt.lib Base Application Development Libraries
bos.adt.libm Base Application Development Math Library
bos.net.ncs Base Network Computing Services
ifor_ls.compat License Use Management Version 4 Compatibility
ifor_ls.base License Use Management version 4 base

Use the following command to determine if the items have been installed :

lslpp -h bos.adt.include bos.adt.lib bos.adt.libm \
             bos.net.ncs ifor_ls.compat, ifor_ls.base
Refer to the AIX Installation Guide if you need to install these products.

Checking for Other Filesets :

The following optional items are prerequisites for some components.
 
 
X11.base.rte AIXwindows Runtime Environment. Install this if you want to invoke the GUI versions of the LUM tools, or if you want to have desktop icons for C for AIX help.
bos.rte.libpthreads pthreads Library. Required for pthreads applications
ipfx.rte IPF/X Runtime Support. Install this if you want to invoke the GUI version of the LUM tools.
ifor_ls.base.gui and ifor_ls.client.gui License Use Runtime filesets. Install this if you want to invoke the GUI versions of LUM tools

Use the following command to determine if these items have been install :

lslpp -h X11.base.rte bos.rte.libpthreads ipfx.rte \
                    ipfx.rte ifor_ls.base.gui  ifor_ls.base.gui and ifor_ls.client.gui
 

How to install


You can install VisualAge C++ for AIX in one of two ways:
Select the individual filesets you want to install on your machine. This allows you to control which components of VisualAge C++ for AIX are installed.
Install all the filesets found on a CD, as long as they are relevant to your operating system. This option installs all the components found on a CD, giving you the most complete installation of VisualAge C++ for AIX possible.
After you have installed VisualAge C++ for AIX, you need to enroll your license for the product before using it.

Note: If you are upgrading an existing installation of VisualAge C++ for AIX, you should uninstall your existing version of VisualAge C++ for AIX before installing VisualAge C++ Professional for AIX, Version 6.0.

You can install VisualAge C++ Version 6.0 in one of two ways:

- Select the individual filesets you wish to install on your machine. This allows you to control which components of VisualAge C++ are installed.

- Use _all_latest install option. This option installs all components found on the CD, giving you the most complete installation of VisualAge C++ Version 6.0 possible.

If you are upgrading an existing installation of VisualAge C++, we recommend that you uninstall your existing version of VisualAge C++ before installing VisualAge C++ Version 6.0.

Note:  If you are installing VisualAge C++ Version 6.0 on a machine running AIX Version 4.3, ensure that the Motif 1.2 compatibility fileset, X11.compat.adt.Motif12, is installed on that system.
Motif 1.2 compatibility fileset is part of the AIX Version 4.3 Base Operating System. (BOS).
It is a prerequisite for this version 5.0 of VisualAge C++.

You must have root user access to install VisualAge C++ .

To install VisualAge C++ by selecting filesets:
1. Insert the first CD into the CD-ROM device.
2. At a command prompt, enter smit install_latest.
3. Press FP4 or click List to display the list of devices.
4. Select the CD-ROM device, and then click OK.
5. Press PF4 or click List to select the filesets you wish to install.

Some of the VisualAge C++ filesets are specific to the AIX version and language environments on your machine. If you select filesets that do not match your version of AIX or your language environments, you will receive a failed install message. We recommend that you read the fileset descriptions closely.

Important: When fileset names differ only by the AIX version that supports them, you should install only the fileset supported by the version of AIX running on your machine. If your machine is running AIX 4.3.3, choose this.aix.43.fileset. if your machine is running AIX 5L, choose this.aix.50.filest.

6. Follow the on-screen instructions to complete the installation.

To install all the components of VisualAge C++ :

1. Insert the first CD into the CD-ROM device
2. At a command prompt, enter smit install_latest.
3. Press PF4 or click List to display a list of devices.
4. Select the CD-ROM device, the click OK.
5. Click OK
6. Follow the on-screen instructions to complete the installation.

If you get a failed message see above recommendations.
 

Important :
DURING AN OPERATING SYSTEM MIGRATION, USERS REQUIRE TO PERFORM TWO STEPS TO ENSURE VISUALAGE C++ WILL CONTINUE TO OPERATING CORRECTLY.  THIS IS DUE TO THE LIMITATION OF THE AIX MIGRATION PROCESS.
 

The VisualAge C++ product contains a number of filesets specific to the operating system level which are not contained on the AIX media.  Therefore, after migrating from an earlier version of AIX to AIX 5L Version 5.1, users will be required to manually install the AIX 5L versions of the filesets from the VisualAge C++ media. Only the filesets which are required by the users need to be installed.

These filesets are:

memdbg.aix50.adt
vacpp.cmp.aix50.lib
vacpp.cmp.aix50.tools
vacpp.memdbg.aix50.lib
vacpp.memdbg.aix50.rte
xlopt.aix50.lib
xlsmp.aix50.rte

After the migration, if there exists AIX 4.3 versions of the above filesets but are missing the AIX 5L versions, you will be required to install them.
 
 

Components

 
idebug.client.extras 9.2.5.0  Debugger Interpreted Engine
idebug.client.gui 9.2.5.0  Debugger Graphical User Inte...
idebug.client.olt 9.2.5.0  Object Level Trace Viewer
idebug.engine.compiled 9.2.5.0  Debugger Engine for Compiled...
idebug.engine.interpreted 9.2.5.0  Debugger Engine for Interpre...
idebug.help.de_DE 9.2.5.0  Debugger Help--German
idebug.help.en_US 9.2.5.0  Debugger Help--U.S. English
idebug.help.* Debugger Help*  (differents languages)
idebug.msg.en_US.engine 9.2.5.0  Debugger Engine Messages--U....
idebug.msg.en_US.olt 9.2.5.0 Object Level Trace Messages-...
idebug.rte.hpj 9.2.5.0  High-Performance Java Runtime
idebug.rte.olt.Cxx 9.2.5.0  Object Level Trace C++ Runtime
 idebug.rte.olt.Java 9.2.5.0  Object Level Trace Java Runtime
idebug.rte.olt.client 9.2.5.0  Object Level Trace Client Co...
idebug.server.olt 9.2.5.0  Object Level Trace Server
vac.C 6.0.0 C for AIX Compiler
vac.C.readme.ibm C for AIX iFOR/LS Information
vac.lic C for AIX LUM License Files
xlopt.lib XLOPT Optimization Library
xlopt.aix43.lib Optimization Libraries for AIX 4.3
xlopt.aix50.lib Optimization Libraries for AIX 5
xlopt.rte XLOPT Optimization Runtime
xlopt.tools XLOPT Optimization Tools
vac.html.DBCS.search C for AIX Compiler Documenta...
vac.html.SBCS.search C for AIX Compiler Documenta...
vac.html.common.search C for AIX Compiler Documenta...
vac.html.en_US.C C for AIX Compiler Documenta...
vac.html.en_US.search  C for AIX Compiler Documenta...
vac.html.zh_CN.C  C for AIX Compiler Documenta...
vac.html.zh_CN.search  C for AIX Compiler Documenta...
vac.msg.en_US.C  C for AIX Compiler Messages ...
vac.pdf.en_US.C  C for AIX Documentation (PDF...
vacpp.Dt.common  VisualAge C++ Desktop Integr...
vacpp.Dt.help  C for AIX Help Desktop Integration
vacpp.cmp.core  VisualAge C++ Compiler
vacpp.cmp.include  VisualAge C++ Compiler Inclu...
vacpp.cmp.lib  VisualAge C++ Libraries
vacpp.cmp.rte  VisualAge C++ Compiler Appli...
vacpp.cmp.tools  VisualAge C++ Tools
vacpp.html.EN_US  VisualAge C++ Documentation ...
vacpp.html.SBCS   
vacpp.html.common   
vacpp.html.en_US   
 vacpp.html.help 5.0.2.0  VisualAge C++ HTML Help Engine
vacpp.lic 5.0.2.0  VisualAge C++ Licence Files
vacpp.cmp.core VisualAge Compiler C++ Local...
vacpp.memdbg.aix43.lib  VA C++ User Heap/Memory Debu...
vacpp.memdbg.aix43.rte   
vacpp.memdbg.aix.50.rte  
vacpp.memdbg.aix43.lib  
vacpp.memdbg.lib  VisualAge C++ User Heap and ...
vacpp.memdbg.rte  VisualAge C++ User Heap and ...
vacpp.msg.en_US.cmp.batch  VisualAge Batch Compiler C++...
vacpp.msg.en_US.cmp.core  vacpp.msg.en_US.cmp.core 5.0.0.0 
vacpp.msg.en_US.cmp.tools  VisualAge C++ Tools Messages...
vacpp.msg.en_US.html.help  VisualAge C++ Help Engine Me...
vacpp.pdf.common  VisualAge C++ Documentation ...
vacpp.pdf.en_US  VisualAge C++ Documentation ...
vacpp.rescmp VisualAge C++ Resource Compiler
vacpp.samples.ansicl  ANSI CLass Library Samples
vatools.html.help  VisualAge Tools HTML Help En...
vatools.msg.en_US.html.help  VA Tools HTML Help Engine Me...
xlC.adt.include C Set ++ Application Develop...
xlC.msg.en_US.rte C Set ++ Runtime Messages--U...
xlC.rte 6.0.0 C Set ++ Runtime
xlC.aix43.rte C Set ++ Runtime for AIX 4.3...
xlC.aix50.rte C++ Runtime for AIX 5.1
xlsmp.msg.en_US.rte 1.3.6.0  XL SMP Runtime Messages - U....
xlsmp.rte 1.3.6.0  SMP Runtime Library
xlsmp.aix43.rte SMP Runtime Library for AIX 4.3
xlsmp.aix50.rte SMP Runtime Library for AIX 5
memdbg.adt User Heap/Memory Debug Toolkit
memdbg.aix43.adt User Heap/Memory Debug Toolkit for AIX 4.3
memdbg.aix50.adt User Heap/Memory Debug Toolkit for AIX 5
vac.ndi C for AIX Non-Default Install Script
vacpp.ndi VisualAgeC++ Non-Default Install Script
vacpp.samples.ansicl VisualAgeC++ Sample Files

Note:  Once you have installed VisualAge C++ Version 6.0, you will need to enroll your license for the product before using it.
 

Activating the LUM server


After configuring and starting the LUM server, you can enroll product licenses. Before attempting to enroll a license, you must first ensure that the LUM daemons are active. This can be done with the following command:

# /var/ifor/i4cfg -list

Depending on the type of LUM server configured, the output will be similar to the following:
i4cfg Version 4.5.5 AIX -- LUM Configuration Tool ....
Sous-système      Groupe           PID     Etat
i4lmd                        iforls           15996   active

If no subsystem is listed as active, the start them with the following command:

# /var/ifor/i4cfg -start

The only daemon that must be active is the Nodelock License Server Subsystem (i4llmd) daemon. The other daemons that may be active depending on your configuration are as follows :
 

License certificate locations

Compiler License Certificate Type Location
C Version 6 Concurrent Network /usr/vac/cforaix_c.lic
  Concurrent Nodelock /usr/vac/cforaix_cn.lic
  Simple Nodelock /usr/vac/cforaix_n.lic
VisualAge C++ Version 6  Concurrent Network /usr/vacpp/vacpp_c.lic
  Concurrent Nodelock /usr/vacpp/vacpp_cn.lic
  Simple Nodelock /usr/vacpp/vacpp_n.lic

Enrolling Product License Certificate


After LUM has been installed and configured on your system, the product license certificates can be enrolled with the LUM license server.  Three LUM product license certificates are provided with this product:

1)  Concurrent Nodelock License Certificate

2)  Concurrent Network License Certificate

3)  Simple Nodelock License Certificate (does not require a license server)

Depending on whether a Concurrent Nodelock License Server or a Concurrent Network License Server or possibly both license servers have been configured, the user should enroll the appropriate license certificate.

THE LICENSE CERTIFICATES FOR THE VisualAge C++ for AIX PRODUCT ARE CONTAINED IN "/usr/vacpp" AFTER THE VisualAge C++ for AIX PRODUCT HAS BEEN INSTALLED (see "INSTALLING VisualAge C++ for AIX" section.)

The Concurrent Nodelock license certificate is contained in the file "/usr/vacpp/vacpp_cn.lic".  The Concurrent Network license certificate is contained in the file "/usr/vacpp/vacpp_c.lic".

To enroll a license certificate, perform the following steps:

1)  Log in as userid "root" on the system where the license server will be installed.

2)  Enter "cd /var/ifor".  If this directory does not exist, then LUM has not been installed (see "INSTALLING LUM" section.)

3)  Invoke the LUM configuration tool by entering the LUM Basic License Tool  command "./i4blt".

The "i4blt" tool contains BOTH GRAPHICAL USER INTERFACE AND COMMAND LINE.
If the X11 runtime (i.e. "X11.base.rte" fileset) has been installed on your system, the GUI version of the tool will be invoked.  Otherwise, the command line version will be invoked and an error will occur since the appropriate command line parameters were not specified.

    The following are the instructions for both interfaces using the "i4blt" tool:

    - Enrolling using GRAPHICAL USER INTERFACE

        - Select "Products" pull down and click on "Enroll Product" item.
        - Click on "Import" button. The "Import" panel should be displayed.
        - Enter "/usr/vacpp/*.lic" in the "Filter" entry prompt, and press
          ENTER.  This will show the various product license files in the
          "Files" panel.  "vacpp_c.lic" (concurrent network) and "vacpp_cn.lic"
          (concurrent nodelock) should be displayed.
        - Select either "vacpp_c.lic" or "vacpp_cn.lic" by clicking on the
          entry.
        - Click on "OK" button.  The "Enroll Product" panel should be re-displayed
           with information regarding the product indicated.
        - Click on "OK" button of the "Enroll Product" panel. The "Enroll
          Licenses" panel should be displayed.
        - Fill in the information on the "Administrator Information" portion
          of the panel (optional.)
        - Fill in the number of valid purchased licenses of the product
          under "Enrolled Licenses" in the "Product information" portion of
          the panel (mandatory.)
        - Click on "OK" button of the "Enroll Licenses" panel.  The product
          should be successfully enrolled.  You may terminate the "i4blt"
          tool.

    - Enrolling using COMMAND LINE

        - From either the "vacpp_c.lic" or "vacpp_cn.lic" product
          license files from "/usr/vacpp", extract the "i4blt" command from
          the top of the file.
        - Replace "number_of_lics" from the command with the number of
          valid purchased licenses of the product (mandatory.)
        - Replace "admin_name" with the name of the administrator (optional.)
        - Invoke this command as "root" from "/var/ifor".  The product should
          be successfully enrolled.

4)  ONLY for Concurrent-Network Certificate Enrollment:

    After enrolling a concurrent-network certificate, the licenses MUST be "distributed" to one or more LUM license servers.  This allows you to distribute the load between multiple license servers. However, you can distribute all licenses to a single server if desired.

    To distribute licenses, invoke "/var/ifor/i4blt" as root and perform the following steps:

    - Select the Product by clicking on it.
    - Select "Selected" pulldown and click on "Distribute Licenses" item.
    - Select the License Server which you would like to distribute the concurrent-network licenses too.
    - Select "Selected" pulldown and click on "Set Number of Licenses" item.
    - Enter the number of licenses which you would like to distribute to the selected license server.  This number must be equal to or less then the number of licenses
       enrolled for the product.
    - Close the "Distribute Licenses" window.  Closing the window will pop-up the question "Do you want to distribute the licenses?".
      Select "Yes".
 

Compiling with the VisualAge C++

Finding the compiler drivers

The earlier versions of the compiler products automatically created symbolic links in /usr/bin for each invocation command supplied by the compiler. The PATH environment variable includes by default. this directory.
The later versions of the compiler products are designed to co-exist with earlier versions, and, as a consequence, they do not create the symbolic links in /usr/bin when they are installed. This means that the user may have trouble invoking the compiler on a system that only have a new compiler product installed. Be sure to use the right version.

VisualAge C++ for AIX is not automatically installed in /usr/bin. To invoke the compiler without having to specify the full path, do one of the following steps:

Security, Auditability, and Control

VisualAge C++ Version 6.0 for AIX,, uses the security and auditability features of the AIX operating system.

The customer is responsible for evaluation, selection, and implementation of security features, administrative procedures, and appropriate controls in application systems and communication facilities.
VisualAge C++ Professional for AIX, Version 6.0 is licensed based on a charge unit of an authorized user for each physical machine running the program.
An authorized user is an individual or specific named user authorized to have access to the program or any portion of the program on a physical machine. The Proof of Entitlement for this program is evidence of your
authorization. The number of authorized users (individual or specific named users) allowed to access the VisualAge C++ Professional for AIX, Version 6.0 program is determined by the number of authorizations the customer acquires. Only an authorized user may have access to the program or any portion of the program.
 

VIII. MAINTAINABILITY & SUPPORT STRATEGY

Problem diagnose and reporting

Corrections for VisualAge C++ (if they are) are available on Bull Unix Systems Producer Server

http://epicentre.frec.bull.fr/software/languages/C/
 

Problem diagnose and reporting

Report problems in PARM  using :

       Product = VisualAgeC++
       Product Version = 06.00.00
       Domain = LANGUAGES
       Symkey = LANGUAGES

Known Problems

LUM Frequently Asked  Questions


Q1)  iFOR/LS used to store my simple nodelock password in /usr/lib/netls/conf/nodelock.
Where does LUM store these passwords?

A1)  LUM stores simple nodelock passwords in /var/ifor/nodelock.  You may want to copy your iFOR/LS passwords from /usr/lib/netls/conf/nodelock into /var/ifor/nodelock, then remove /usr/lib/netls/conf/nodelock and create a symbolic link from /var/ifor/nodelock to /usr/lib/netls/conf/nodelock.
LUM V4 should automatically perform this procedure during installation.

Q2)  My /var filesystem is filled up due to LUM logging messages in the file /var/ifor/i4ipc.out.  Can I control the size of the i4ipc.out file?

A2)  Yes.  The size of the i4ipc.out file can be controlled by editing the /var/ifor/i4ls.ini file.  You may change the values for the following two tags:

     "NumberOfLogFile" - This is the number of log files that are written.
                         As a log file fills, LUM will create another one and begin writing to it.
     "MaxLogFileSize"  - This is the size of the log files in tens of kilobytes.

Q3)  I have a system with many nodes (e.g. 128 node  .)  Is there a way to configure LUM on each node without logging into them?

A3)  If all your nodes can be configured in the same way, then you can configure one node using "i4cfg -script" and copy the following files to the other nodes:

     /var/ifor/i4ls.ini (see below)
     /etc/ncs/glb_site.txt (if used)
     /etc/ncs/glb_obj.txt

     If you are using Namespace Binding to locate the license server, then you do not need the "i4ls.ini" file for this configuration.

     The "glb_site.txt" file is required if the clients are not able to reach, via broadcast, the system where the "glbd" is running.

     The "glb_obj.txt" file is required if the license server is running in an alternate NCS cell.

Q4)  Occasionally, when I perform a compilation I experience a timelag in acquiring a LUM license.  Why?

A4)  The timelag may have been caused by an incorrect default value set in early versions of LUM.  Check the "ReadTimeout" value in /var/ifor/i4ls.ini.  If the value is set to "2", increase it to a larger number (e.g. "20")

Q5)  In /var/ifor/i4ipc.out, I noticed the following message for each compilation:

     IPCI ERROR:
          Unable to open Client to Server Connection.
          (-10 from GRLIPCInitClientWO)

     How do I fix this problem?

A5)  This message is produced by LUM.  Configure your license server as concurrent-nodelock and concurrent-network.  In addition, specify you want to start the license servers at system startup.

Q6)  After correctly installing and configuring my license servers, I receive an "unable to open /var/ifor/i4ipc.out" error when attempting to use the product.  What is wrong?

A6)  This message is produced by LUM and is a known problem. Occasionally, the LUM initialization fails to create this file. The workaround is to create the file as root by invoking "/usr/bin/touch /var/ifor/i4ipc.out".

Q7)  What is the difference between "i4cfg" and "i4config"?

A7)  "i4cfg" is the GUI version of the LUM configuration tool while "i4config" is the command line version.  Read the "USING LICENSE USE MANAGEMENT RUNTIME FOR AIX" documentation which comes with LUM for details.

Q8)  What is the correlation between the product version number of LUM and the LUM version number in the Object Database Manager (ODM)?

A8)  4.3.0.0 indicates License Use Runtime Version 4.0, which is installed
             automatically with AIX 4.3.0
     4.3.1.0 indicates License Use Runtime Version 4.0.1, which is installed
             automatically with AIX 4.3.1
     4.3.1.1 indicates License Use Runtime Version 4.0.2
     4.3.1.2 indicates License Use Runtime Version 4.0.3
     4.3.2.0 indicates License Use Runtime Version 4.5, which is installed
             automatically with AIX 4.3.2
     4.3.2.1 indicates License Use Runtime Version 4.5.1
     4.3.2.2 indicates License Use Runtime Version 4.5.1 + APAR IX89182
     4.3.2.3 indicates License Use Runtime Version 4.5.2
     4.3.3.0 indicates License Use Runtime Version 4.5.5, which is installed
             automatically with AIX 4.3.3
Q9)  I am unable to invoke the GUI versions of the LUM tools.  What am I missing:

A9)  Ensure you have installed the following:

     1.  IPF/X Runtime Support.  This is in the package ipfx.rte that is shipped with the AIX installation media.
     2.  License Use Runtime Filesets:  ifor_ls.base.gui and ifor_ls.client.gui.

Q10)  I've installed LUM's documentation filesets.  How do I view the documentation?

A10)  The HTML documentation is available in "/usr/opt/ifor/ls/os/aix/doc". You may use any Web browser.

Q11)  The VisualAge C++ Professional for AIX product is licensed based on "Authorized Users".  However, LUM uses the term "Concurrent User." What is the difference?

A11)  An Authorized User is a specific user authorized to have local or remote access to the Program or any portion of the Program.  A separate authorization or Authorized User is required for each specific user with local or remote access to the Program or any portion of the Program.

      A Concurrent User based on LUM implementation is the equivalent to a specific userid on a specific system.

      For example:

      "Steve" is an Authorized User and "owns" three separate userids on a system.  "Mary" is not an Authorized User and "owns" one userid. In addition, "Steve" and "Mary" share a separate userid.

      Based on the license agreement for this product, "Mary" may NOT access the Program or any portion of the Program regardless of the userid including the shared userid.  "Steve" may access the Program or any portion of the Program by any userid, including the shared userid.

Q12)  Are there any Year-2000 (Y2K) issues with respect to LUM?

A12)  Yes, several tools originally shipped with iFOR/LS were also shipped with LUM to provide backwards compatibility.  A few of these tools (e.g. "ls_rpt", "ls_admin" and "ls_stat") incorrect display the year 2000 as 1900, however, THE ACTUAL LICENSING FUNCTION IS UNAFFECTED, AND OPERATES CORRECTLY.  LUM uses newer tools which do not have the problem.

      The problems can be resolved by obtaining and applying the PTFs for iFOR/LS APAR IX89863.  The PTFs are:

      PTF U464427 (for AIX Version 4.2)
      PTF U463932 (for AIX Version 4.3)

Q13)  When installing the compiler product, I receive an error indicating that ifor_ls.client.base and/or ifor_ls.client.gui filesets are missing.  What do I do?

A13)  ifor_ls.client.base and ifor_ls.client.gui are "dummy" filesets which do not contain any files.  They are used to ensure that an older version of LUM (or iFOR/LS) is not installed over the current version.  Due to the way LUM is packaged, an error may occur if these filesets are not installed.  To fix the product, install both filesets.  The filesets are available on the AIX 4.3 CD media.  They are also shipped with this product for your      convenience.

Q14)  What is a simple nodelock license and how do I use it?

A14)  A simple nodelock license allows a single system to use the product without the requirement of a license server.  This license type does NOT maintain a log of the product usage and should only be used when the user can guarantee the usage of the product is not exceeding the terms and conditions of the product.

      To use a simple nodelock license, as root copy the license information line from the "/usr/vacpp/vacpp_n.lic" certificate as indicated in the certificate to "/var/ifor/nodelock".
 
 

IX. MIGRATING TO VisualAge C++ VERSION 6.0 FOR AIX

This section contains information about the prerequisites, requirements, and environment considerations for migrating from earlier versions of the product. The following questions are answered about migrating to VisualAge C++ Professional for AIX, Version 6.0 :

Source code
In general, your Version 5.0 compiler source code will compile on VisualAge C++ Professional for AIX, Version 6.0. However, some changes to compiler options, and the support of the C99 standard, may cause some errors if you try to recompile your existing code.
For changes to the compiler that may affect your source code, see the file provided with the C++ Version 6.0 product usr/vacpp/pdf/en_US/getstart.pdf

If you used to use the tools, utilities and classes listed below, which are no longer supported on VisualAge C++ for AIX, you may need to change your work habits.
The withdrawn tools and runtimes are:


Incremental Compiler Transition
Incremental compilation is no longer supported by VisualAge C++ for 6.0 AIX. The command-line compiler that you should use for application development compiles your code in a batch process, one complete translation unit at a time. If you were using the incremental compiler, you need to convert your existing incremental compilation configuration files into command-line batch compiler makefiles.
Configuration files used by the incremental compiler are similar in concept to makefiles used by most make utilities. The target statement in a configuration file is synonymous with the target in a makefile. Only the syntax is different. The source statement is synonymous with a dependency. To convert these constructs, use the following makefile syntax:
target :dependency ;command
Target, source, and run directives in the existing configuration file can be mapped
to targets, dependencies, and commands in the new makefile.
Commands in configuration files are implied by the type of file specified by the source and target statements.
For example, the following configuration file segment compiles a C++ source file into an object file:
target "a.o"{
source "a.C"
}
An equivalent makefile segment is:
a.o:a.C
xlC [options ]-c a.C
If the target was an executable file, then you would need an additional makefile segment for linking:
a.out :a.o
xlC [options ]a.o
The configuration file uses the run command, and specifies the order of command execution by the before and after modifiers, such as:
run (before|after)command
In the makefile, the order of command execution is specified by the order of targets and dependencies. A makefile segment for the example above looks like this:
a.o :runfirst a.c
xlC [options ];c a.C
runfirst :
command

Equivalent Incremental and Batch Compiler Options

VisualAge C++ for AIX, Version 5.0 included both an incremental C++ compiler, with a C compiler extension, and batch C and C++ compilers. For both C and C++, you could control the compile and link stages of a build by specifying options in an incremental configuration file (.icc). Now that the incremental compiler has been removed, you can specify these options in your source file, a traditional makefile configuration file, or on the command line when invoking the compiler.
Refer to the VisualAge C++ for AIX Compiler Reference for information about these options.
 

Open Class Library Transition
The Open Class (IOC) Library is a library of C++ classes provided with VisualAge C++ Professional for AIX, Version 4.0 and VisualAge C++ Professional for AIX, Version 5.0.
Since AIX is standardizing on the C++ Standard Library, including the Standard Template Library (STL) and other features of the ISO C++ 1998 Standard, support for the Open Class Library has been removed from these products, as well as all other C++ compilers on different platforms. Read the Open Class Library Transition Guide to determine whether your application uses IOC, what version of IOC it is using, and the general migration suggestions for application owners whose applications use the IOC.
Open Class Library Migration Guide also contains migration suggestions for most classes included in the Open Class Library.
/usr/vacpp/pdf/en_US/ioc_transition.pdf
In general, where an overlap in functions exists between the Open Class Library and the C++ Standard Library (including the Standard Template Library), the following is recommended:

Copyright © Bull S.A.
No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical or otherwise without the prior written permission of the publisher. Bull acknowledges the right of proprietors of trademarks mentioned herein. Bull disclaims the implied warranties of merchantability and fitness for a particular purpose and make no express warranties except as may be stated in its written agreement with and for its customer. In no way Bull is liable to anyone for any indirect, special or consequential damages. The information and specifications in this document are subject to change without notice. Consult your Bull Representative for product or service availability. La loi du 11 Mars 1957, compléte par la loi du 3 Juillet 1985, interdit les copies ou reproductions destinées à une utilisation collective. Toute représentation ou reproduction intégrale ou partielle faite par quelque procédé que ce soit, sans consentement de l'auteur ou de ses ayants causes, est illicite et constitue une contrefaçon sanctionnée par les articles 425 et suivant du code pénal. Toutes les marques citées sont de la propriétè de leurs titulaires respectifs. Ce document est fourni à titre d'information seulement. Il n'engage pas la responsabilitè de Bull S.A. en cas de dommages résultant de son application. Des corrections ou des modifications au contenu de ce document peuvent intervenir sans préavis; des mises à jour ultérieures les signaleront éventuellement aux destinataires.
Author : B. Caquard Approver : M.H. Marc