Installation

This chapter contains all the information you need to perform installations, both to the default and non-default locations. All of the filesets are listed, as well as the system requirements to run IBM XL C/C++ Enterprise Edition V8.0 for AIX. This chapter also explains how to preview an installation to ensure that all requirements are met. Simple testing procedures are also provided to ensure the installation was successful.

Distribution CD layout

The files are organized in the following way on the CD-ROM:

README
README.ja_JP
README.zh_CN
LicAgree.pdf
LicInfo.pdf
doc/LANG/pdf/...
IBMdebugger/windows/...
runtime/...
usr/sys/inst.images/...

where LANG can be:

The doc directory contains documentation which can be accessed prior to installation.

The IBMdebugger/windows/ directory contains the IBM Debugger for AIX, Version 5.0.0 (for Windows 2000(R)/Windows XP(R)).

The runtime directory contains redistributable runtime filesets.

The inst.images directory contains the product filesets.

Filesets and packaging

If you do not want to install all available filesets, you may choose which filesets to install. In addition, you may specify that any fileset which is a prerequisite to a fileset you selected be installed automatically.

When fileset names differ only by the locale code, you can choose to install only the filesets relevant to your desired language and location. The LANG environment variable determines which message catalogs are used. The en_US (English) message catalogs are installed by default. If LANG is not defined or is assigned an unsupported locale, en_US message catalogs are used.

LANG can be set to one of the following locale codes:

XL C compiler filesets

The following filesets are included in the XL C compiler.

Table 3. XL C compiler filesets
Fileset name Fileset description
vac.C IBM XL C compiler
vac.include IBM XL C compiler include files
vac.man.LANG
Note:
LANG is one of: en_US, EN_US, ja_JP, Ja_JP, JA_JP, zh_CN, Zh_CN, ZH_CN.
IBM XL C compiler manual pages
vac.lib IBM XL C compiler libraries
vac.aix50.lib IBM XL C compiler libraries for AIX 5
vac.lic IBM XL C license files
Note:
For licensed customers only
vac.msg.LANG.C
Note:
LANG is one of: en_US, EN_US, ja_JP, Ja_JP, JA_JP, zh_CN, ZH_CN.
IBM XL C compiler messages

XL C++ compiler filesets

The following filesets are included in the XL C/C++ compiler.

Note:
All of the filesets required for the XL C compiler, except vac.ndi and vac.licAgreement, are also required for the XL C/C++ compiler.
Table 4. XL C/C++ compiler filesets
Fileset name Fileset description
vacpp.cmp.aix50.lib IBM XL C/C++ libraries for AIX 5.1, 5.2 and 5.3
vacpp.cmp.aix50.tools IBM XL C/C++ tools for AIX 5.1, 5.2 and 5.3
vacpp.cmp.core IBM XL C/C++ compiler
vacpp.cmp.include IBM XL C/C++ compiler include files
vacpp.cmp.lib IBM XL C/C++ libraries
vacpp.cmp.rte IBM XL C/C++ compiler application runtime
vacpp.cmp.tools IBM XL C/C++ tools
vacpp.lic IBM XL C/C++ license files
vacpp.licAgreement IBM XL C++ electronic license agreement files
vacpp.memdbg.aix50.lib IBM XL C/C++ user heap/memory debug AIX 5.1, 5.2 and 5.3 libraries
vacpp.memdbg.aix50.rte IBM XL C/C++ user heap/memory debug AIX 5.1, 5.2 and 5.3 runtime
vacpp.memdbg.lib IBM XL C/C++ user heap and memory debugger static library
vacpp.memdbg.rte IBM XL C/C++ user heap and memory debugger runtime
vacpp.msg.LANG.cmp.core
Note:
LANG is one of: en_US, EN_US, ja_JP, Ja_JP, JA_JP, zh_CN, ZH_CN.
IBM XL C/C++ compiler messages
vacpp.msg.LANG.cmp.tools
Note:
LANG is one of: en_US, EN_US, ja_JP, Ja_JP, JA_JP, zh_CN, ZH_CN.
IBM XL C/C++ tools messages
vacpp.man.LANG
Note:
LANG is one of: en_US, EN_US, ja_JP, Ja_JP, JA_JP, zh_CN, ZH_CN.
IBM XL C/C++ compiler manual pages

C++ runtime filesets

The following filesets are included in the IBM XL C/C++ Enterprise Edition V8.0 for AIX compiler installation package, and must be installed with the compiler.

Table 5. C++ runtime filesets
Fileset name Fileset description
xlC.adt.include C Set ++ application development toolkit
xlC.aix50.rte C Set ++ runtime for AIX 5.1, 5.2 and 5.3
xlC.msg.LANG.rte
Note:
LANG is one of: en_US, ja_JP, Ja_JP.
C Set ++ runtime messages
xlC.rte C Set ++ runtime

XL SMP runtime environment filesets

The following filesets are included in the IBM XL C/C++ Enterprise Edition V8.0 for AIX installation package, and must be installed with the compiler.

Table 6. XL SMP runtime filesets
Fileset name Fileset description
xlsmp.msg.LANG.rte
Note:
LANG is one of: en_US, EN_US, ja_JP, Ja_JP, JA_JP, zh_CN, Zh_CN, ZH_CN.
XL SMP runtime messages
xlsmp.rte XL SMP runtime library
xlsmp.aix50.rte XL SMP runtime library for AIX 5.1, 5.2 and 5.3

Non-default installation scripts and sample filesets

The following optional filesets are provided to facilitate compiler installation to a non-default location and are not required for any XL C/C++ component.

Table 7. Optional XL C/C++ filesets
Fileset name Fileset description
vac.ndi IBM XL C non-default installation script
vacpp.ndi IBM XL C++ non-default installation script
vacpp.samples.ansicl IBM XL C++ ANSI class library samples

XL C/C++ compiler online help filesets

The following filesets contain the IBM XL C/C++ Enterprise Edition V8.0 for AIX compiler online help.

Table 8. XL C/C++ compiler online help filesets
Fileset name Fileset description
vac.html.LANG.C
Note:
LANG is one of: en_US, ja_JP, zh_CN.
IBM XL C information center
vac.html.common.search IBM XL C compiler documentation (HTML) search common
vac.pdf.LANG.C
Note:
LANG is one of: en_US, ja_JP, zh_CN.
IBM XL C documentation (PDF)
vacpp.html.LANG
Note:
LANG is one of: en_US, ja_JP, zh_CN.
IBM XL C/C++ information center
vacpp.pdf.LANG
Note:
LANG is one of: en_US, ja_JP, zh_CN.
IBM XL C/C++ documentation (PDF)
vacpp.html.common IBM XL C/C++ documentation (HTML) common files
vacpp.tnb IBM XL C/C++ evaluation license file
Note:
For licensed customers only
xlhelp.html.LANG
Note:
LANG is one of: en_US, ja_JP, zh_CN.
XL Compiler common documentation
xlhelp.com XL Compiler information center

Runtime debug memory routine filesets

Table 9. Runtime debug memory routine filesets
Fileset name Fileset description
memdbg.adt User heap/memory debug toolkit
memdbg.aix50.adt User heap/memory debug toolkit for AIX 5.1, 5.2 and 5.3
memdbg.msg.LANG
Note:
LANG is one of: en_US, EN_US, ja_JP, Ja_JP, JA_JP, zh_CN, ZH_CN.
User heap/memory debug messages

XL MASS filesets

The following filesets contain the XL MASS libraries.

Table 10. XL MASS filesets
Fileset name Fileset description
xlmass.adt.include IBM MASS application development include files
xlmass.lib IBM MASS libraries
xlmass.aix51.lib IBM MASS libraries for AIX 5.1, 5.2, and 5.3

IBM Debugger for AIX, Version 5.0.0 filesets

The following filesets contain the IBM Debugger for AIX, Version 5.0.0.

Table 11. IBM Debugger for AIX, Version 5.0.0 filesets
Fileset name Fileset description
ibmdebugger.engine IBM Debugger debug engine components
ibmdebugger.client IBM Debugger debug UI components
ibmdebugger.msg.LANG
Note:
LANG is one of: pt_BR, zh_CN, zh_TW, de_DE, es_ES, fr_FR, it_IT, ja_JP,ko_KR.
IBM Debugger debug message files
ibmdebugger.help.LANG
Note:
LANG is one of: pt_BR, zh_CN, zh_TW, de_DE, es_ES, fr_FR, it_IT, ja_JP,ko_KR.
IBM Debugger debug help components

Bundle installation filesets

The following optional filesets are provided to facilitate bundle installation and are not required for any XL C/C++ component.

Table 12. Bundle installation filesets
Fileset name Fileset description
vac.Bnd IBM XL C media defined bundles
vacpp.Bnd IBM XL C/C++ media defined bundles

Installing IBM XL C/C++ Enterprise Edition

You can install XL C/C++ from the CD-ROM or over a network. You can also use the Network Install Manager (NIM) to perform network installs. Refer to the AIX Network Installation Management Guide and Reference for information about NIM.

System prerequisites

Prerequisite tasks or conditions

Checking for required filesets:

The following filesets must be installed on your system in order to install IBM XL C/C++ Enterprise Edition V8.0 for AIX.

Fileset name Fileset description
bos.adt.include Base application development include files
Note:
Different versions of AIX require different levels of this fileset. The minimum level requirements are as follows: AIX 5.1 needs 5.1.0.61, AIX 5.2 needs 5.2.0.41, AIX 5.3 needs 5.3.0.3.
bos.adt.lib Base application development libraries
bos.adt.libm Base application development math libraries
bos.rte.libc Base application runtime library
Note:
Different versions of AIX require different levels of this fileset. The minimum level requirements are as follows: AIX 5.1 needs 5.1.0.62, AIX 5.2 needs 5.2.0.41, AIX 5.3 needs 5.3.0.3.

You can view information about the installed filesets by using the lslpp command.

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

     lslpp -L bos.adt.include bos.adt.lib bos.adt.libm bos.rte.libc

Checking for other filesets:

The following optional filesets are prerequisites for some components.

Fileset name Fileset description
bos.rte.libpthreads Pthreads library (required for threaded applications)

Use the following command to determine if the fileset has been installed:

    lslpp -L bos.rte.libpthreads

Previewing the installation and license agreements

You can preview the installation process without actually installing the product. The advantage of the installation preview is that you can make sure that all prerequisites, such as disk space, have been met.

Using SMIT

Follow these steps to preview the installation process from the CD-ROM for all filesets from the SMIT (System Management Interface Tool) interface:

  1. Run the following on the command line:
         smit install_latest
    This command invokes the SMIT, which presents a menu-driven environment for the installation process.
  2. It will ask you to specify the INPUT device/directory of the software. Click the List button to select from a list of suggested devices and directories, or type in the name of the CD-ROM device or the path to where the packages are located, if it is not listed. If you want to install over a network you must have a network server installed, and then specify the directory on the client that corresponds to the installation source on the network server. Click OK.
  3. At this stage you are prompted with a list of fields with default values as shown in the following table:

    Prompt Default value
    INPUT device/directory for software /dev/cd0
    SOFTWARE to install all_latest
    PREVIEW only? (install operation will NOT occur) no
    COMMIT software updates? yes
    SAVE replaces files? no
    AUTOMATICALLY install requisite software? yes
    EXTEND file systems if space needed? yes
    OVERWRITE same or newer versions? no
    VERIFY install and check file sizes? no
    Include corresponding LANGUAGE filesets? yes
    DETAILED output? no
    Process multiple volumes? yes
    ACCEPT new license agreements? no
    Preview New LICENSE agreements? no
  4. Set the SOFTWARE to install value to all_latest.
  5. Set the PREVIEW only value to yes.
  6. Set the Preview new LICENSE agreements to yes.
  7. Click OK and then OK again.

You can also verify the amount of space needed for the installation before you install the product. Choose the above-mentioned settings and proceed as follows:

The system makes additional resource checks during installation. You can also choose yes next to the following option:

    EXTEND file systems if space needed.

Alternatively, you can preview the license agreement with the parameter show_license_agree. To do so, follow these steps:

  1. Type SMIT show_license_agree on the command line. You have two options as follows:
  2. Choose the first option if you want to preview the license agreement of software that is already installed on your machine and the second option if you want to preview the license agreement of software before you actually install it.

    If you choose Show installed license agreements, you are prompted as follows:

    Click on the List button to choose the filesets for which you want to view the license agreement, or just type the name of the fileset and click OK.

    If you choose Show license agreements on installation media, you are prompted to enter INPUT device/directory for software. Click the List button to select from a list of suggested devices and directories, or type in the name of the CD-ROM device or the path to where the packages are located, if it is not listed, and click OK.

Using installp

Run the following command to preview the command line installation process from the CD-ROM using installp and writing the output to a log file:

     /usr/sbin/installp -paXYgd location_of_install_images 
                                         -e location_of_log_file fileset_names

where:

You can also preview the license agreements using installp command by executing:

     /usr/sbin/installp -aEd input-device all

where the input-device is the device or directory of the compiler filesets.

Product migration installation

It is recommended that you uninstall any previous versions of the compiler prior to installation. However, migration installation from previous compiler versions is supported. The installation procedure is the same because during installation installp determines whether previous versions of the fileset exist, and if so will take the appropriate steps to migrate the fileset.

Note:
If you have performed any customization to the configuration file for the previous version, vac.cfg, you must do the same for the new configuration file.

Installing XL C/C++ to the default location

With root access, you can use SMIT (System Management Interface Tool) or the installp command to install the compiler.

Using SMIT

To install the compiler using the SMIT interface, follow these steps:

  1. Enter the following command on the AIX command line:
         smit install_latest
    This command invokes the SMIT, which presents a menu-driven environment for the installation process. It will ask you to specify the INPUT device/directory of the software.
  2. Click the List button to select from a list of suggested devices and directories, or type in the name of the CD-ROM device or the path to where the packages are located. If you want to install over a network you must have a network server installed, and then specify the directory on the client that corresponds to the installation source on the network server.
  3. Click OK.

    At this stage you are prompted with a list of questions with a default answer as you see in the following table.

    Prompt Default value
    INPUT device/directory for software /dev/cd0
    SOFTWARE to install _all_latest
    PREVIEW only? (install operation will NOT occur) no
    COMMIT software updates? yes
    SAVE replaces files? no
    AUTOMATICALLY install requisite software? yes
    EXTEND file systems if space needed? yes
    OVERWRITE same or newer versions? no
    VERIFY install and check file sizes? no
    Include corresponding LANGUAGE filesets? yes
    DETAILED output? no
    Process multiple volumes? yes
    ACCEPT new license agreements? no
    Preview new LICENSE agreements? no
  4. Click the List button next to SOFTWARE to Install to view the installable images on the device, then select the images to install. Install the runtime libraries first, then install the other images in any order. You can choose _all_latest if you want to install everything.
  5. If you have read the license agreement and agree to its terms, next to Accept new license agreements, choose yes.
  6. Click OK and then OK again.
  7. To continue, click OK.
    Notes:
    1. The runtime libraries and compiler images are always required.
    2. You do not need all of the compile-time and runtime message catalogs, only those for the national languages that you need for compile-time and runtime messages.
    3. Messages are displayed as each part is successfully installed.

Using installp

To install the compiler by using the installp command line interface and write the output to a log file, follow these steps:

Enter the following command on the command line:

     /usr/sbin/installp -aXYgd install_images_location 
                      -e logfile_location fileset_names 

where:

Installing XL C/C++ to a non-default location

You can install XL C/C++ to a non-default directory using the vacppndi Perl script provided with the product. This allows you to run multiple versions of XL C/C++ on a single system. The script is packaged in the vacpp.ndi fileset. To avoid unexpected behavior during installation, do not modify this script.

You may choose to install just the compiler filesets, or the compiler, the sample files, and the PDF documentation files. You cannot install IBM Debugger for AIX, Version 5.0.0 or the HTML online help using the vacppndi script.

Limitations of non-default installation

Procedure

Follow these steps to install IBM XL C/C++ Enterprise Edition V8.0 for AIX to an alternate location:

  1. Install the vacpp.ndi fileset using the following command:
    /usr/sbin/installp -aYgd location_of_install_images 
                       -e location_of_log_file vacpp.ndi

    where:

  2. Install IBM XL C/C++ Enterprise Edition V8.0 for AIX by entering the following command:
         /usr/vacpp/bin/vacppndi -d source_path [-e logfile] -b [target_dir]
    where:
    -d source_path
    Specifies the directory where the filesets are located. This path may also be a mounted CD-ROM drive.
    -e logfile
    Specifies the name and location of the installation log file. By default, the installation log file vacppndi.log will be stored in your working directory.
    -b target_dir
    Specifies the location where the filesets should be copied and expanded. By default, the files will be copied to the vacppndi directory in your working directory. If the directory exists already, you will receive an error message and the installation will stop.

Installing PTF updates to a non-default installation

To install a PTF (program temporary fix) for the XL C/C++ compiler installed to a non-default directory, follow these steps:

  1. Create a text file listing the PTF files you want to install. This text file should contain the name of a single PTF file on each line.
  2. Enter the following on the command line:
         /usr/vacpp/bin/vacppndi -d source_path [-e logfile] 
                                 -u ptf_names_file [-b target_dir] 
    where:
    -d source_path
    Specifies the directory where the PTF files are located.
    -e logfile
    Specifies the name and location of the installation log file. By default, the installation log file vacppndi.log will be stored in your working directory.
    -u ptf_names_file
    Specifies the text file containing the names of PTF files you want to install.
    -b target_dir
    Specifies the location where the fixes should be installed. By default, the fixes will be installed to the vacppndi directory within your current working directory.

Operating system migration

If you are using a previous version of the AIX operating system and you want to migrate to the new version, you need to manually update the configuration file symbolic link to point to the matching operating-system-specific configuration file after operating system migration. You must have root user access to link the file. You can update the configuration file by entering the following on the command line:

     ln -fs /etc/vac.cfg.OS_level /etc/vac.cfg

where OS_level is the new operating system level, represented by one of the following:

If you have customized the configuration file for the previous version and you want the changes to take effect in the new version, you should perform the same customization for the new version.

Testing the installation

To test the product install and the critical search paths, try building the following simple C and C++ programs.

  1. Create the following C program and name the source file hello.c:
    #include <stdio.h>
    int main(void)
    {
       printf("Hello World!\n");
       return 0;
    }
  2. Use the xlc command to compile the test program. For example:
      /usr/vac/bin/xlc hello.c -o hello
  3. Run the program:
      ./hello

    The expected result is that "Hello World!" is displayed on the screen.

  4. Check the exit code of the program:
      echo $?

    The result should be zero.

  5. Create the following C++ program and name the source file hello.c++:
    #include <iostream>
    int main()
    {
       std::cout << "Hello World!" << std::endl;
       return 0;
    }
  6. Use the xlc++ command to compile the test program. For example:
      /usr/vacpp/bin/xlc++ hello.c++ -o hello
  7. Run the program:
      ./hello

    The expected result is that "Hello World!" is displayed on the screen.

  8. Check the exit code of the program:
      echo $?

    The result should be zero.