Contents

Installation guide

  • XL Fortran Version 9.1 packaging and filesets
  • Installing XL Fortran Enterprise Edition Version 9.1
  • System prerequisites
  • Prerequisite tasks or conditions
  • Installation
  • Product migration installation for RHEL3
  • Querying for installed packages
  • Enabling the XL Fortran man pages
  • Setting the correct NLSPATH
  • Configuring the compiler
  • Viewing the documentation
  • Setting up the environment for the invocation commands
  • Testing the installation
  • Uninstalling XL Fortran
  • Troubleshooting

  • Troubleshooting for RHEL3
  • Troubleshooting for SLES9
  • Troubleshooting for both RHEL3 and SLES9

  • Installation guide

    This document contains essential information about installing IBM(R) XL Fortran Enterprise Edition for Linux. Please read it carefully before installing XL Fortran Enterprise Edition for Linux. Please also read the README file on the CD-ROM, which contains the most current information about XL Fortran Enterprise Edition for Linux. After you install the product, you can find the README file in the compiler-path/xlf/9.1 directory.


    XL Fortran Version 9.1 packaging and filesets

    The following packages are supplied on the CD. Use rpm to review them:

    Required packages
    Package Name Package Description
    xlsmp.msg.rte SMP run-time messages
    xlsmp.rte SMP run-time dynamic libraries
    xlsmp.lib SMP run-time static libraries
    xlmass.lib IBM Mathematical Acceleration Subsystem (MASS) component
    xlf.msg.rte XL Fortran run-time environment messages
    xlf.rte XL Fortran run-time environment
    xlf.rte.lnk XL Fortran run-time environment links
    xlf.lic XL Fortran license
    xlf.lib XL Fortran compiler libraries
    xlf.cmp XL Fortran compiler
    xlf.samples XL Fortran samples
    xlf.help XL Fortran documentation

    The supported locales are as follows:


    Installing XL Fortran Enterprise Edition Version 9.1

    The IBM XL Fortran Enterprise Edition for Linux installation uses the Red Hat Package Manager (RPM), which is the standard tool for installing Linux packages. RPM is shipped with the operating system.

    The high-level steps are:

    1. Become the root user, or a user with administrator privileges.
    2. Install the packages.
    3. Enable the compiler man pages.
    4. Set the correct NLSPATH.
    5. Configure the compiler.
    6. Set up the environment for the invocation commands.
    7. Test the installation.

    System prerequisites

    Prerequisite tasks or conditions

    You must have root user access to install XL Fortran.

    Checking for required packages

    You must install the following packages before you install the compiler packages:

    RHEL3
    GCC prerequisites Version Requirements
    gcc 3.2.3
    gcc-c++ 3.2.3
    glibc-devel 2.3.2
    libstdc++-devel 3.2.3

    SLES9
    GCC prerequisites Version Requirements
    gcc 3.3.3
    gcc-c++ 3.3.3
    gcc-64bit 9
    glibc-devel-64bit 9
    libstdc++-devel-64bit 9
    java2 1.3.1
    java2-jre 1.3.1
    Note:

    For installing on RHEL3, both 32-bit and 64-bit glibc-devel and libstdc++-devel packages are required. To make sure you have these packages installed before you install the compiler, follow the instruction in Troubleshooting for RHEL3. You cannot use the following command to check whether these packages are installed, because the names of the RPM packages on RHEL3 are structured in a way that they have the same name regardless whether they are 32-bit or 64-bit RPM packages. As a result, the output does not indicate whether 32-bit, 64-bit or both RPM packages are installed.

    Use the following command to determine if a package is installed:

       rpm -qa | grep package_name
    

    For example, to see whether xlf.cmp is installed, query xlf.cmp package as follows:

       rpm -qa | grep xlf.cmp
    

    If xlf.cmp version 9.1 is installed, you will get the following output as the result of query:

       xlf.cmp-9.1.0-0
    

    Checking for other packages

    The following items require other components or are themselves prerequisites for other components. The xlf_configure utility is required because it must be run after the initial installation in order for the compiler to work. The KDE desktop environment and viewers for accessing the compiler documentation are optional.

    Other package dependencies
    Optional? Component Prerequisite RPM package(s) Query
    Required xlf_configure utility perl rpm -qf /usr/bin/perl
    Optional Mozilla or Konqueror browser RPM packages for the KDE environment rpm -q mozilla
    rpm -q kdebase3-konqueror
    Optional PDF document viewer RPM packages for the KDE environment rpm -q xpdf

    Verifying space requirements

    XL Fortran packages require about 150 MB of hard disk space. This amount includes the optional samples and documentation. Compiling at higher levels of optimization may require large amounts of temporary disk space.

    Use the following command to determine the amount of space available for the compiler installation in the default installation location:

       df -h /opt
    

    Installation

    By default, the compiler installs in the /opt/ibmcmp directory.

    Installation of all the packages using a single command

    If your current working directory contains all of the RPM packages for XL Fortran and no other RPM packages, you can install XL Fortran using one single command as follows:

       rpm -ivh *.rpm (default installation)
    
       rpm -ivh *.rpm --prefix=installation-path (non-default installation)
    

    The following table lists the packages and their prerequisites for both RHEL3 and SLES9.

    XL Fortran packages and their prerequisites
    Package name Prerequisites Description Relocation
    xlsmp.msg.rte none SMP run-time messages must be installed in the same location
    xlsmp.rte xlsmp.msg.rte SMP run-time dynamic libraries
    xlsmp.lib xlsmp.msg.rte
    xlsmp.rte
    SMP run-time static libraries
    xlmass.lib none IBM Mathematical Acceleration Subsystem (MASS) component any location
    xlf.lic none XL Fortran license any location
    xlf.msg.rte none XL Fortran run-time messages must be installed in the same location
    xlf.rte xlf.msg.rte
    XL Fortran run-time
    xlf.rte.lnk xlf.rte XL Fortran run-time links
    xlf.cmp xlf.lib
    xlf.lic
    xlf.msg.rte
    xlf.rte
    xlf.rte.lnk
    xlmass.lib
    xlsmp.lib
    xlsmp.msg.rte
    xlsmp.rte
    XL Fortran compiler xlf.cmp and xlf.lib must be installed in the same location
    xlf.lib none XL Fortran compiler libraries
    xlf.samples none Example programs any location (optional)
    xlf.help none Compiler documentation in HTML and PDF formats any location (optional)

    Default installation on RHEL3

    Issue the following commands to install XL Fortran to the default location, /opt/ibmcmp. To avoid dependency errors during installation, install the compiler packages in the following order:

      rpm -ivh xlsmp.msg.rte-1.5.0-0.ppc64pseries.rpm
      rpm -ivh xlsmp.rte-1.5.0-0.ppc64pseries.rpm
      rpm -ivh xlsmp.lib-1.5.0-0.ppc64pseries.rpm
      rpm -ivh xlmass.lib-4.1.0-0.ppc64pseries.rpm
      rpm -ivh xlf.msg.rte-9.1.0-0.ppc64pseries.rpm
      rpm -ivh xlf.rte-9.1.0-0.ppc64pseries.rpm
      rpm -ivh xlf.rte.lnk-9.1.0-0.ppc64pseries.rpm
      rpm -ivh xlf.lic-9.1.0-0.ppc64pseries.rpm
      rpm -ivh xlf.lib-9.1.0-0.ppc64pseries.rpm
      rpm -ivh xlf.cmp-9.1.0-0.ppc64pseries.rpm
     
    

    The sample programs and product documentation packages have no dependency on other RPM packages and can be installed in any order using the following commands:

      rpm -ivh xlf.help-9.1.0-0.ppc64pseries.rpm
      rpm -ivh xlf.samples-9.1.0-0.ppc64pseries.rpm
    
    Note:
    If you have already installed the XL C/C++ compiler, xlsmp.msg.rte, xlsmp.rte, xlsmp.lib and xlmass.lib will already be installed. RPM will prevent you from installing these components a second time.

    Non-default installation on RHEL3

    Issue the following commands to install XL Fortran to a non-default location. To avoid dependency errors during installation, install the compiler packages in the following order:

      rpm -ivh xlsmp.msg.rte-1.5.0-0.ppc64pseries.rpm --prefix=smprt-path
      rpm -ivh xlsmp.rte-1.5.0-0.ppc64pseries.rpm --prefix=smprt-path
      rpm -ivh xlsmp.lib-1.5.0-0.ppc64pseries.rpm --prefix=smprt-path
      rpm -ivh xlmass.lib-4.1.0-0.ppc64pseries.rpm --prefix=xlmass-path
      rpm -ivh xlf.msg.rte-9.1.0-0.ppc64pseries.rpm --prefix=xlfrt-path
      rpm -ivh xlf.rte-9.1.0-0.ppc64pseries.rpm --prefix=xlfrt-path
      rpm -ivh xlf.rte.lnk-9.1.0-0.ppc64pseries.rpm --prefix=xlfrt-path
      rpm -ivh xlf.lic-9.1.0-0.ppc64pseries.rpm --prefix=xlflic-path
      rpm -ivh xlf.lib-9.1.0-0.ppc64pseries.rpm --prefix=xlf-path
      rpm -ivh xlf.cmp-9.1.0-0.ppc64pseries.rpm --prefix=xlf-path
    

    For example:

      rpm -ivh xlsmp.msg.rte-1.5.0-0.ppc64pseries.rpm --prefix=/common
      rpm -ivh xlsmp.rte-1.5.0-0.ppc64pseries.rpm --prefix=/common
      rpm -ivh xlsmp.lib-1.5.0-0.ppc64pseries.rpm --prefix=/common
      rpm -ivh xlmass.lib-4.1.0-0.ppc64pseries.rpm --prefix=/common_xlmass
      rpm -ivh xlf.msg.rte-9.1.0-0.ppc64pseries.rpm --prefix=/runtime
      rpm -ivh xlf.rte-9.1.0-0.ppc64pseries.rpm --prefix=/runtime
      rpm -ivh xlf.rte.lnk-9.1.0-0.ppc64pseries.rpm --prefix=/runtime
      rpm -ivh xlf.lic-9.1.0-0.ppc64pseries.rpm --prefix=/license
      rpm -ivh xlf.lib-9.1.0-0.ppc64pseries.rpm --prefix=/compiler
      rpm -ivh xlf.cmp-9.1.0-0.ppc64pseries.rpm --prefix=/compiler
    

    Default installation on SLES9

    Issue the following commands to install XL Fortran to the default location, /opt/ibmcmp. To avoid dependency errors during installation, install the compiler packages in the following order:

      rpm -ivh xlsmp.msg.rte-1.5.0-0.ppc64.rpm
      rpm -ivh xlsmp.rte-1.5.0-0.ppc64.rpm
      rpm -ivh xlsmp.lib-1.5.0-0.ppc64.rpm
      rpm -ivh xlmass.lib-4.1.0-0.ppc64.rpm
      rpm -ivh xlf.msg.rte-9.1.0-0.ppc64.rpm
      rpm -ivh xlf.rte-9.1.0-0.ppc64.rpm
      rpm -ivh xlf.rte.lnk-9.1.0-0.ppc64.rpm
      rpm -ivh xlf.lic-9.1.0-0.ppc64.rpm
      rpm -ivh xlf.lib-9.1.0-0.ppc64.rpm
      rpm -ivh xlf.cmp-9.1.0-0.ppc64.rpm
     
    

    The sample programs and product documentation packages have no dependency on other RPM packages and can be installed in any order.

      rpm -ivh xlf.help-9.1.0-0.ppc64.rpm
      rpm -ivh xlf.samples-9.1.0-0.ppc64.rpm
    
    Note:
    If you have already installed the XL C/C++ compiler, xlsmp.msg.rte, xlsmp.rte, xlsmp.lib and xlmass.lib will already be installed. RPM will prevent you from installing these components a second time.

    Non-default installation on SLES9

    Issue the following commands to install XL Fortran to a non-default location. To avoid dependency errors during installation, install the compiler packages in the following order:

      rpm -ivh xlsmp.msg.rte-1.5.0-0.ppc64.rpm --prefix=smprt-path
      rpm -ivh xlsmp.rte-1.5.0-0.ppc64.rpm --prefix=smprt-path
      rpm -ivh xlsmp.lib-1.5.0-0.ppc64.rpm --prefix=smprt-path
      rpm -ivh xlmass.lib-4.1.0-0.ppc64.rpm --prefix=xlmass-path
      rpm -ivh xlf.msg.rte-9.1.0-0.ppc64.rpm --prefix=xlfrt-path
      rpm -ivh xlf.rte-9.1.0-0.ppc64.rpm --prefix=xlfrte-path
      rpm -ivh xlf.rte.lnk-9.1.0-0.ppc64.rpm --prefix=xlfrte-path
      rpm -ivh xlf.lic-9.1.0-0.ppc64.rpm --prefix=xlflic-path
      rpm -ivh xlf.lib-9.1.0-0.ppc64.rpm --prefix=xlf-path
      rpm -ivh xlf.cmp-9.1.0-0.ppc64.rpm --prefix=xlf-path
    

    For example:

      rpm -ivh xlsmp.msg.rte-1.5.0-0.ppc64.rpm --prefix=/common
      rpm -ivh xlsmp.rte-1.5.0-0.ppc64.rpm --prefix=/common
      rpm -ivh xlsmp.lib-1.5.0-0.ppc64.rpm --prefix=/common
      rpm -ivh xlmass.lib-4.1.0-0.ppc64.rpm --prefix=common_xlmass
      rpm -ivh xlf.msg.rte-9.1.0-0.ppc64.rpm --prefix=/runtime
      rpm -ivh xlf.rte-9.1.0-0.ppc64.rpm --prefix=/runtime
      rpm -ivh xlf.rte.lnk-9.1.0-0.ppc64.rpm --prefix=/runtime
      rpm -ivh xlf.lic-9.1.0-0.ppc64.rpm --prefix=/license
      rpm -ivh xlf.lib-9.1.0-0.ppc64.rpm --prefix=/compiler
      rpm -ivh xlf.cmp-9.1.0-0.ppc64.rpm --prefix=/compiler
    

    Product migration installation for RHEL3

    Note:
    As XL Fortran version 9.1 is the first version supported on SLES9, product migration installation does not apply to SLES9.

    Product migration installation

    If you have the previous version of the compiler installed, it is recommended that you uninstall any previous versions of the compiler prior to installation. However, if you want to have more than one version of the compiler on the system, you can follow one of the methods described in this section.

    Method 1: Installing to a different location

    You can install version 9.1 to a different location from version 8.1.

    For example, if you installed version 8.1 to the default location, /opt/ibmcmp, follow the instructions in Non-default installation on RHEL3 to install version 9.1 packages to a different location.

    If you did not use the default installation for version 8.1 and installed it to a non-default location, you can install version 9.1 to the default location. Follow the instructions in Default installation on RHEL3. You can also install version 9.1 to a non-default location by following the instructions in Non-default installation on RHEL3.

    Method 2: Installing the compiler to the same location

    You can also install version 9.1 packages to the same location that version 8.1 packages reside in. In this case, you will only have version 9.1 run-time packages installed on that location and the version 8.1 compiler will use version 9.1 run-time shared libraries.

    To avoid future dependency errors, you must remove the following packages before you install version 9.1 packages to the same location.

      rpm -e xlsmp.msg.rte-1.3.7-2 --nodeps
      rpm -e xlf.msg.rte-8.1.1-0 --nodeps
    

    Assuming all the packages for version 8.1 are installed, use the following commands to install the version 9.1 packages to the same location. To avoid dependency errors during installation, install the compiler packages in the following order:

      rpm -ivh xlsmp.msg.rte-1.5.0-0.ppc64pseries.rpm  --prefix <V1.3_smprt_path>
      rpm -ivh xlsmp.rte-1.5.0-0.ppc64pseries.rpm --prefix <V1.3_smprt_path> --force
      rpm -ivh xlsmp.lib-1.5.0-0.ppc64pseries.rpm --prefix <V1.3_smprt_path>
      rpm -ivh xlmass.lib-4.1.0-0.ppc64pseries.rpm --prefix <xlmass_path>
      rpm -ivh xlf.msg.rte-9.1.0-0.ppc64pseries.rpm --prefix <V8.1_runtime_path>
      rpm -ivh xlf.rte-9.1.0-0.ppc64pseries.rpm --prefix <V8.1_runtime_path> --force
      rpm -ivh xlf.rte.lnk-9.1.0-0.ppc64pseries.rpm --prefix <V8.1_runtime_path>
      rpm -ivh xlf.lic-9.1.0-0.ppc64pseries.rpm --prefix <V8.1_license_path>
      rpm -ivh xlf.lib-9.1.0-0.ppc64pseries.rpm --prefix <V8.1_license_path>
      rpm -ivh xlf.cmp-9.1.0-0.ppc64pseries.rpm --prefix <V8.1_compiler_path>
    

    where:

    <V1.3_smprt_path> is where version 1.3 of smprt was installed.

    <V8.1_compiler_path> is where version 8.1 of the compiler was installed.

    <V8.1_license_path> is where version 8.1 of the compiler license was installed.

    <V8.1_runtime_path> is where version 8.1 of the compiler run-time was installed.

    <xlmass_path> can be any location on the system.

    Notes:

    1. The --force option must be used on the run-time packages to avoid file conflicts. If you do not use the --force option you will get warnings such as the following:

      file /opt/ibmcmp/lib/libxlf90.so.1 from install of xlf.rte-9.1.0-0 conflicts with file from package xlf.rte-8.1.1-0.

    2. If you use method 2 for migration installation, you must use xlf_configure manually. You can not use new_install when more than one version of the compiler is installed on the system.

    3. When you use method 2, version 9.1 run-time packages will be used by both versions of the compiler. If you need version 8.1 run-time packages to run with version 8.1 run-time packages, you must use Method 1.

    PTF updates

    With the PTF (Program Temporary Fix) updates, all of the packages except xlf.lic are shipped.

    It is recommended that you uninstall any previous version of the compiler prior to applying PTF updates. In this case, you should use the xlf.lic you have from your previous version. However, you have the option to keep the previous version of the compiler or uninstall it based on your preferences when applying PTF updates.

    Method 1: keeping the previous version of the compiler and applying the PTF updates

    If you want to keep the previous version of the compiler on your system, you must install the PTF to a different location. In this case, there will be no need to reinstall xlf.lic, but note that if you do not uninstall the previous version of the compiler, you must use xlf_configure option. Do not use new_install.

    Later, once you have verified that the PTF is what you want and decide to uninstall the previous version, you can uninstall everything except xlf.lic. If you do not uninstall the previous version of the compiler from the system, and attempt to apply the PTF in the same install location, the installation fails, because the packages are installed in a common location, which is not specific to the version of the product. You can follow these steps to apply the PTF:

    1. Complete the instructions with the new RPM packages as mentioned in the Installation. Since the xlf.lic package is already installed, you do not need to install it again.
    2. Configure the compiler using xlf_configure. Do not use the new_install utility.
    3. If you decided to keep the previous version of the compiler when applying the PTF updates and later, you want to uninstall the old compiler, follow the instructions in Uninstalling XL Fortran. Do not uninstall xlf.lic. If you try to uninstall this package, you will receive an error message because this package is a prerequisite for other packages that are installed on your system.

    Method 2: uninstalling the previous version of the compiler and applying the PTF updates

    If you do not want to have the previous version of the compiler when you apply the PTF updates, follow the instructions described in the Uninstalling XL Fortran and apply the PTF updates using the instruction in Installation. You should use the xlf.lic that you have from the previous version.

    Querying for installed packages

    To query an individual package, issue a command such as the following:

       rpm -q xlf.cmp
    

    If the installation is not successful, you will get a message indicating that the package has not been installed. If the package has been installed properly, the result should be:

       xlf.cmp-V.R.M-F
    

    Where V.R.M-F is the Version.Release.Modification.Fix level of the compiler installed on the system.

    To query all packages and search for xlf, issue the following command:

       rpm -qa | grep xlf
    

    If the package is not installed, the output of the command will be null.

    Enabling the XL Fortran man pages

    Man pages are provided for the compiler invocation commands and other utilities that are provided with the compiler.

    Before you can read the man pages, you must add the XL Fortran man directory to the MANPATH environment variable as follows:

    1. Open a terminal window.
    2. Enter the following command:
      export LANG=locale
      

      The supported locales are as follows:

      For example, to view man pages in English, enter the following command:

      export LANG=en_US
      
    3. Add /opt/ibmcmp/xlf/9.1/man to the beginning of the MANPATH environment variable, as shown in the following table.
      How to update the MANPATH environment variable
      Shell Command
      bash export MANPATH=/opt/ibmcmp/xlf/9.1/man:$MANPATH

    To invoke a man page, enter man followed by the command; for example:

    man xlf

    To leave the man page, type: q.

    Setting the correct NLSPATH

    After installation, you must set the NLSPATH environment variable so that the run-time environment finds the appropriate message catalogs.

    Issue the following command:

      export NLSPATH=$NLSPATH:
       smprt-path/msg/%L/%N:
       xlfrt-path/msg/%L/%N:
       xlf-path/xlf/9.1/msg/%L/%N
     
    

    where:

    Note:
    If the default installation location is used, then smprt-path, xlfrt-path, and xlf-path will all be /opt/ibmcmp.

    Configuring the compiler

    In order to configure the compiler, you should have root or administrator privileges if you run new_install. However, if you configure the compiler using xlf_configure and your output configuration file, xlf.cfg, is written to a location where you have write permission, you do not need root or administrative privileges.

    You can use new_install to generate the default configuration file automatically. The new_install command queries the RPM database to search for the paths to the XL Fortran packages and also search for the path to the 32-bit GCC (gcc32path) and the 64-bit GCC (gcc64path) in the PATH environment variable and generates the /etc/opt/ibmcmp/xlf/9.1/xlf.cfg configuration file. It uses the values obtained to execute xlf_configure. When running new_install on SLES9 platform, you will be required to accept the license agreement before the configuration file is generated. This step is not required on the RHEL3.

    1. Change to the directory that contains the new_install and xlf_configure executables:
        cd /opt/ibmcmp/xlf/9.1/bin
      

      or, if you installed XL Fortran in a non-default location:

        cd xlf-path/xlf/9.1/bin
      
    2. Run the following command:
        ./new_install
      

    The new_install command executes the following commands:

       xlf_configure
       -gcc gcc32path
       -gcc64 gcc64path
       -install
       -mass xlmass-path/xlmass/4.1
       -smprt smprt-path/xlsmp/1.5
       -xlflic xlflic-path/xlf/9.1
       -xlfrt xlfrt-path/xlf/9.1
       -xlf xlf-path/xlf/9.1
       xlf-path/xlf/9.1/etc/xlf.base.cfg
    

    If the default configuration file exists before you invoke new_install, new_install will back up the existing configuration file. The name of the back-up file will be displayed to the screen.

    Note:
    You should use xlf_configure manually if multiple instances of XL Fortran compiler or GCC are installed on your system.

    If new_install exits with an error, you will need to run the xlf_configure utility manually, as described in the The xlf_configure utility.

    The following table describes some of the attributes in the generated configuration file.

    Linux-specific configuration attributes
    Attribute Contents Additional information
    gcc_path
    gcc_path_64
    The location of the GCC executable , in 32-bit mode or 64-bit mode The gcc command must be located in the bin directory under the specified path.
    gcc_libs
    gcc_libs_64
    A comma-separated list of GCC libraries, in 32-bit mode or 64-bit mode The gcc returns this list to the xlf_configure utility.
    gcc_libdirs
    gcc_libdirs_64
    A comma-separated list of directories that contain GCC libraries, in 32-bit mode or 64-bit mode The gcc returns this list to the xlf_configure utility.

    The xlf_configure utility

    The xlf_configure utility is automatically invoked by the new_install command. You can invoke the xlf_configure utility directly in the following situations:

    The xlf_configure command has the following syntax:

                      .------------------.
                      V                  |
    >>-xlf_configure----+--gcc--path---+-+--+----------+------------>
                        '--gcc64--path-'    +--o--name-+
                                            '--install-'
     
    >--+--------+--+---------------------------------------+-------->
       '--force-'  | .-----------------------------------. |
                   | V                                   | |
                   +---+--mass--xlmass-path/xlmass/4.1-+-+-+
                   |   +--smprt--smprt-path/xlsmp/1.5--+   |
                   |   +--xlflic--xlflic-path/xlf/9.1--+   |
                   |   +--xlfrt--xlfrt-path/xlf/9.1----+   |
                   |   '--xlf--xlf-path/xlf/9.1--------'   |
                   '--ibmcmp--path-------------------------'
     
    >--+--------------------------+--------------------------------><
       '-template_config_filename-'
     
     
    

    where:

    -gcc path
    Specifies the path where the GCC bin directory is installed. In the configuration file, the gcc_path attribute is set equal to this path.

    For example, if the GCC command is /usr/bin/gcc, you would specify

      -gcc /usr
    

    -gcc64 path
    Specifies the path where the 64-bit GCC bin directory is installed. In the configuration file, the gcc_path_64 attribute is set equal to this path.

    -o name
    Specifies the name of the configuration file to generate. By default, output is written to the display.

    -install
    Generates a file with the required name and the required location for the default configuration file: /etc/opt/ibmcmp/xlf/9.1/xlf.cfg

    -force
    Forces the xlf_configure utility to overwrite any existing output file with the specified name and path. By default, if you do not use force, xlf_configure issues an error message and stops if the specified file already exists.

    -mass xlmass-path/xlmass/4.1
    Specifies the path for the xlmass.lib package. By default the path is /opt/ibmcmp/xlmass/4.1.

    -smprt smprt-path/xlsmp/1.5
    Specifies the path for the xlsmp.msg.rte, xlsmp.rte, and xlsmp.lib packages. By default, this is /opt/ibmcmp/xlsmp/1.5.

    -xlflic xlflic-path/xlf/9.1
    Specifies the path for the xlf.lic package. By default, this is /opt/ibmcmp/xlf/9.1.

    -xlfrt xlfrt-path/xlf/9.1
    Specifies the path for the xlf.msg.rte, xlf.rte and xlf.rte.lnk packages. By default, this is /opt/ibmcmp/xlf/9.1.

    -xlf xlf-path/xlf/9.1
    Specifies the path for the xlf.cmp package. By default, this is /opt/ibmcmp/xlf/9.1.

    -ibmcmp path
    Alternatively specifies the path where all of the XL Fortran packages (xlsmp.msg.rte, xlsmp.rte, xlsmp.lib, xlf.lic, xlf.msg.rte, xlf.rte, xlf.rte.lnk and xlf.cmp) are installed. In this case, path is the same as smprt-path, xlflic-path, xlfrt-path, and xlf-path. You cannot specify ibmcmp and also specify the individual paths.

    template_config_filename
    The input file that is used to construct the configuration file. By default, this is /opt/ibmcmp/xlf/9.1/etc/xlf.base.cfg. If you relocated the xlf.cmp package but want to use the default template, specify:

    xlf-path/xlf/9.1/etc/xlf.base.cfg.


    Viewing the documentation

    The following documentation is provided with XL Fortran:

    README file
    A README file is located in the root directory of the installation CD. This file is installed in the /opt/ibmcmp/xlf/9.1 directory.

    PDF books
    The PDF versions of the XL Fortran documentation are stored in the /doc/$LANG/pdf directory of the installation CD. When you install the xlf.help package, the PDF files are copied to the /opt/ibmcmp/xlf/9.1/doc/$LANG/pdf directory. To view these files, you need a PDF viewer. The gv viewer is included in the Linux distribution.

    HTML files
    When you install the xlf.help package, an HTML version of the XL Fortran documentation is installed in the /opt/ibmcmp/xlf/9.1/doc/$LANG/html directory. To view the HTML files, open the file index.htm in a browser such as Mozilla or Konqueror.

    Man pages
    Man pages are provided for the compiler invocation commands (such as xlf) and the following additional commands: xlf_configure, new_install, showpdf, mergepdf, resetpdf, and cleanpdf. The man pages are installed in the /opt/ibmcmp/xlf/9.1/man/$LANG/man1 directory.

    Setting up the environment for the invocation commands

    XL Fortran is not automatically installed in /usr/bin. To invoke the compiler without having to specify the full path, do one of the following steps:


    Testing the installation

    To test the product install and the critical search paths, try building the following simple application.

    1. Create the following Fortran program and name the source file hello.f:
            PRINT *, "Hello World!"
            END
      
      Note:
      Each line must have six blank spaces before the first text character.
    2. Compile the program by entering the command:
        xlf  hello.f -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.


    Uninstalling XL Fortran

    You must have root user access to uninstall this product. Note that the order of uninstalling packages is the reverse of that in which they were installed (LIFO). Uninstall the compiler packages in the following order to avoid dependency errors during uninstallation (both default and non-default install location use the same set of commands) :

      rpm -e xlf.cmp-9.1.0-0
      rpm -e xlf.lib-9.1.0-0
      rpm -e xlf.lic-9.1.0-0
      rpm -e xlf.rte.lnk-9.1.0-0
      rpm -e xlf.rte-9.1.0-0
      rpm -e xlf.msg.rte-9.1.0-0
      rpm -e xlmass.lib-4.1.0-0
      rpm -e xlsmp.lib-1.5.0-0
      rpm -e xlsmp.rte-1.5.0-0
      rpm -e xlsmp.msg.rte-1.5.0-0
     
    

    Notes:

    1. Some packages may not uninstall if they are required by other packages. For example, the SMP runtime (xlsmp.rte) is a shared component if IBM XL C/C++ compiler is also installed on the same system.

    2. The above commands will not remove any xlf.cfg that was generated by new_install or xlf_configure.

    The sample programs and product documentation do not have any package dependencies. To uninstall them, you can issue the following commands in any order.

      rpm -e xlf.samples-9.1.0-0
      rpm -e xlf.help-9.1.0-0
    

    Troubleshooting

    This section describes possible problems you may encounter when you install XL Fortran Enterprise Edition for Linux


    Troubleshooting for RHEL3

    You must have both ppc and ppc64 glibc-devel and libstdc++devel packages installed to successfully install and configure the product. If you only have the ppc RPM packages installed but not the ppc64 RPM packages when you run new_install or xlf_configure, you will receive one of the following error messages:

       Could not determine location of 64-bit gcc.
       Suggestion: 64-bit glibc-devel, 64-bit libstdc++-devel might need to be 
       installed
    
       Could not determine location of 32-bit gcc.
       Suggestion: 32-bit glibc-devel, 32-bit libstdc++-devel might need to be 
       installed
    

    In this case, you should check whether both of the 64-bit and 32-bit RPM packages of glibc-devel and libstdc++-devel are installed on the system. On RHEL3 you cannot tell whether the 32-bit or the 64-bit version of GCC is installed by querying the packages because both the 32-bit and 64-bit packages have the exact same RPM name. You can, however, check this by compiling a test case in 32-bit and 64-bit mode.

    For example, to check whether the 32-bit or the 64-bit version of GCC is installed you can create two test cases helloWorld.c and helloWorld.cpp and try to compile the files as follows:

    For 32-bit mode:

       gcc helloWorld.c 
       gcc helloWorld.cpp 
    

    If the program compiles successfully without any error message, it indicates that you have 32-bit RPM packages installed. Otherwise if you get an error message, it means that you do not have the 32-bit RPM packages installed and you need to install the necessary packages, using the following commands:

       rpm -ivh glibc-devel-V.R.M-F.ppc.rpm
    
       rpm -ivh libstdc++-devel-V.R.M-F.ppc.rpm
    

    Where V.R.M-F is the Version.Release.Modification.Fix level of the package installed on the system.

    For example, you can use the following commands:

       rpm -ivh glibc-devel-2.3.2-95.3.ppc.rpm
    
       rpm -ivh libstdc++-devel-3.2.3-20.ppc.rpm
    

    For 64-bit mode:

       gcc -m64 helloWorld.c 
       gcc -m64 helloWorld.cpp 
    

    If the programs compile successfully without any error message, it indicates that you have 64-bit RPM packages installed. Otherwise if you get an error message, it means that you do not have the 64-bit RPM packages installed and you need to install the necessary packages, using the following commands:

       rpm -ivh glibc-devel-V.R.M-F.ppc64.rpm
    
       rpm -ivh libstdc++-devel-V.R.M-F.ppc64.rpm
    

    Where V.R.M-F is the Version.Release.Modification.Fix level of the package installed on the system.

    For example, you can use the following commands:

       rpm -ivh glibc-devel-2.3.2-95.3.ppc64.rpm
    
       rpm -ivh libstdc++-devel-3.2.3-20.ppc64.rpm
    

    After you install the packages, run new_install again and the product should install without any error.


    Troubleshooting for SLES9

    Java2 packages are required to run new_install. If you do not have java2 or java2-jre installed on your machine and try to run new_install, you will get the following error message:

       Could not determine the install location of java2 package. 
    java2 package is required to run the license accept tool of this program. 
    Suggestion: install java2 and java2-jre packages provided by the operating 
    system install media.
     
    

    You should install the java2 and java2-jre packages that can be obtained from the operating system installation media and run new_install again.


    Troubleshooting for both RHEL3 and SLES9

    IBM Copyright 2003