Troubleshooting the configuration
This document contains essential information about installing IBM XL Fortran Advanced Edition V9.1 for Linux. Please read it carefully before installing this product. Be sure to read the README file on the CD-ROM, which contains the most current information about the product. After you install the product, you can find the README file in the xlf_path/xlf/9.1 directory.
The following packages are supplied on the CD. Use rpm to
review them:
Required XL Fortran V9.1 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(R) Mathematical Acceleration Subsystem (MASS) libraries |
xlf.msg.rte | Fortran run-time environment messages |
xlf.rte | Fortran run-time environment |
xlf.rte.lnk | Fortran run-time environment links |
xlf.lic | XL Fortran V9.1 license |
xlf.lib | Fortran compiler libraries |
xlf.cmp | Fortran compiler |
xlf.samples | XL Fortran V9.1 samples |
xlf.help | XL Fortran V9.1 documentation |
The supported locales are as follows:
The IBM XL Fortran Advanced Edition V9.1 for Linux installation uses the Red Hat Package Manager (RPM), which is the standard tool for installing Linux(TM) packages. RPM is shipped with the operating system.
The high-level steps are:
Hardware systems for supported Linux distributions | |
Linux distribution | Hardware system |
---|---|
RHEL3 U3, RHEL4, SLES9 | One of the following:
|
Y-HPC | One of the following:
|
You must have root user access to install XL Fortran V9.1.
The tables in this section list the GCC and operating system
packages that must be installed before you install the compiler:
Required GCC and RHEL3 U3 operating system packages | |
Package name | Version requirements |
gcc | 3.2.3 |
gcc-c++ | 3.2.3 |
glibc-devel | 2.3.2 |
libstdc++-devel | 3.2.3 |
Required GCC and RHEL4 operating system packages | |
Package name | Version requirements |
gcc | 3.4.3 |
gcc-c++ | 3.4.3 |
glibc-devel | 2.3.4 |
libstdc++-devel | 3.4.3 |
libgcj | 3.4.3 |
Required GCC and SLES9 operating system packages | |
Package name | 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 |
Required GCC and Y-HPC operating system packages | |
Package name | Version requirements |
gcc | 3.3.3 |
gcc-ppc32 | 3.3.3 |
gcc-c++ | 3.3.3 |
libgcj | 3.3.3 |
You can use the following command to verify that you have the required packages installed:
rpm -qa | grep package_name
For example, to see whether gcc-c++ is installed, query for the gcc-c++ package as follows:
rpm -qa | grep gcc-c++
If gcc-c++ version 3.3.3 is installed, you will get a result similar to the following output:
gcc-c++-3.3.3-43.24
Exception: On RHEL3 U3 and RHEL4, both 32-bit and 64-bit glibc-devel and libstdc++-devel packages are required. To ensure that you have these packages installed before you install the compiler, follow the instruction in Error: Could not determine location of 32-bit or 64-bit GCC (RHEL3 U3, RHEL4).
Table 7 lists programs and packages that are not required for
installation of the product but are required to support specific tasks.
Packages that support specific tasks | ||
Task | Prerequisite RPM package | Query |
---|---|---|
Required: Configuring the compiler using xlf_configure | perl | rpm -qf /usr/bin/perl |
Optional: Using the documentation that is packaged with the compiler | RPM packages for graphical desktop environments (such as K Desktop Environment or Gnome) that support web browsers and PDF viewers. |
rpm -q mozilla rpm -q kdebase3 rpm -q xpdf |
XL Fortran V9.1 packages require about 150 MB of hard disk space. This amount includes the optional samples and documentation.
Use the following command to determine the amount of space available for the compiler installation in the default installation location:
df -h /opt
This section describes different ways to install the XL Fortran V9.1 compiler:
After installing the RPM packages, you must configure the compiler by running either new_install or xlf_configure. See Configuring the compiler.
Table 8 lists the RPM packages and their prerequisites for all supported Linux distributions.
XL Fortran V9.1 packages and their prerequisites | |||
Package name | Prerequisites | Description | Relocation |
---|---|---|---|
xlsmp.msg.rte | None | SMP run-time messages | All SMP packages 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) libraries | Any location |
xlf.lic | None | XL Fortran V9.1 license | Any location |
xlf.rte | None | Fortran run-time environment | All XL Fortran V9.1 run-time-related packages must be installed in the same location. |
xlf.rte.lnk |
xlf.rte | Fortran run-time links | |
xlf.cmp |
xlf.lib xlf.lic xlf.rte xlf.rte.lnk xlmass.lib xlsmp.lib xlsmp.msg.rte xlsmp.rte | Fortran compiler | All XL Fortran V9.1 compiler and library packages must be installed in the same location. |
xlf.samples | None. | Example programs | Any location (optional). |
xlf.help | None. | Man pages and compiler documentation in HTML and PDF formats | Any location (optional). |
If your current working directory contains all of the RPM packages for XL Fortran V9.1 and no other RPM packages, you can use a single command to install all XL Fortran V9.1 RPM packages.
rpm -ivh *.rpm
rpm -ivh *.rpm --prefix relocation_path
where relocation_path is the location of the product files.
If your current working directory contains RPM packages in addition to the XL Fortran V9.1 RPM packages, you need to install each XL Fortran V9.1 RPM package individually. In order to avoid dependency errors when you install packages individually, you must follow the installation order described in Examples of default installations or Examples of non-default installations.
rpm -ivh package_name-V.R.M-F.arch.rpm
rpm -ivh package_name-V.R.M-F.arch.rpm --prefix relocation_path
Issue the following commands to install XL Fortran V9.1 to the default location, /opt/ibmcmp. In order to avoid dependency errors during installation of XL Fortran V9.1 on RHEL3 U3 or RHEL4, issue the following commands in the order given:
rpm -ivh xlsmp.msg.rte-1.5.1-0.ppc64pseries.rpm rpm -ivh xlsmp.rte-1.5.1-0.ppc64pseries.rpm rpm -ivh xlsmp.lib-1.5.1-0.ppc64pseries.rpm rpm -ivh xlmass.lib-4.1.1-0.ppc64pseries.rpm rpm -ivh xlf.msg.rte-9.1.1-0.ppc64pseries.rpm rpm -ivh xlf.rte-9.1.1-0.ppc64pseries.rpm rpm -ivh xlf.rte.lnk-9.1.1-0.ppc64pseries.rpm rpm -ivh xlf.lic-9.1.1-0.ppc64pseries.rpm rpm -ivh xlf.lib-9.1.1-0.ppc64pseries.rpm rpm -ivh xlf.cmp-9.1.1-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.1-0.ppc64pseries.rpm rpm -ivh xlf.samples-9.1.1-0.ppc64pseries.rpm
Issue the following commands to install XL Fortran V9.1 to the default location, /opt/ibmcmp. In order to avoid dependency errors during installation of XL Fortran V9.1 on SLES9or Y-HPC, issue the following commands in the order given:
rpm -ivh xlsmp.msg.rte-1.5.1-0.ppc64.rpm rpm -ivh xlsmp.rte-1.5.1-0.ppc64.rpm rpm -ivh xlsmp.lib-1.5.1-0.ppc64.rpm rpm -ivh xlmass.lib-4.1.1-0.ppc64.rpm rpm -ivh xlf.msg.rte-9.1.1-0.ppc64.rpm rpm -ivh xlf.rte-9.1.1-0.ppc64.rpm rpm -ivh xlf.rte.lnk-9.1.1-0.ppc64.rpm rpm -ivh xlf.lic-9.1.1-0.ppc64.rpm rpm -ivh xlf.lib-9.1.1-0.ppc64.rpm rpm -ivh xlf.cmp-9.1.1-0.ppc64.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.1-0.ppc64.rpm rpm -ivh xlf.samples-9.1.1-0.ppc64.rpm
In the examples in this section, there are different directories for each group of packages that must be installed together. Table 8 lists these package groups. The variables that represent each of these directories are:
Issue the following commands to install XL Fortran V9.1 to a non-default location. In order to avoid dependency errors during installation of XL Fortran V9.1 on RHEL3 U3 or RHEL4, issue the following commands in the order given:
rpm -ivh xlsmp.msg.rte-1.5.1-0.ppc64pseries.rpm --prefix smprt_path rpm -ivh xlsmp.rte-1.5.1-0.ppc64pseries.rpm --prefix smprt_path rpm -ivh xlsmp.lib-1.5.1-0.ppc64pseries.rpm --prefix smprt_path rpm -ivh xlmass.lib-4.1.1-0.ppc64pseries.rpm --prefix xlmass_path rpm -ivh xlf.msg.rte-9.1.1-0.ppc64pseries.rpm --prefix xlfrt_path rpm -ivh xlf.rte-9.1.1-0.ppc64pseries.rpm --prefix xlfrt_path rpm -ivh xlf.rte.lnk-9.1.1-0.ppc64pseries.rpm --prefix xlfrt_path rpm -ivh xlf.lic-9.1.1-0.ppc64pseries.rpm --prefix xlflic_path rpm -ivh xlf.lib-9.1.1-0.ppc64pseries.rpm --prefix xlf_path rpm -ivh xlf.cmp-9.1.1-0.ppc64pseries.rpm --prefix xlf_path
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.1-0.ppc64pseries.rpm --prefix xlfdoc_path rpm -ivh xlf.samples-9.1.1-0.ppc64pseries.rpm --prefix xlfsmpls_path
Issue the following commands to install XL Fortran V9.1 to a non-default location. In order to avoid dependency errors during installation of XL Fortran V9.1 on SLES9 or Y-HPC, issue the following commands in the order given:
rpm -ivh xlsmp.msg.rte-1.5.1-0.ppc64.rpm --prefix smprt_path rpm -ivh xlsmp.rte-1.5.1-0.ppc64.rpm --prefix mprt_path rpm -ivh xlsmp.lib-1.5.1-0.ppc64.rpm --prefix smprt_path rpm -ivh xlmass.lib-4.1.1-0.ppc64.rpm --prefix xlmass_path rpm -ivh xlf.msg.rte-9.1.1-0.ppc64.rpm --prefix xlfrt_path rpm -ivh xlf.rte-9.1.1-0.ppc64.rpm --prefix xlfrt_path rpm -ivh xlf.rte.lnk-9.1.1-0.ppc64.rpm --prefix xlfrt_path rpm -ivh xlf.lic-9.1.1-0.ppc64.rpm --prefix xlflic_path rpm -ivh xlf.lib-9.1.1-0.ppc64.rpm --prefix xlf_path rpm -ivh xlf.cmp-9.1.1-0.ppc64.rpm --prefix xlf_path
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.1-0.ppc64.rpm --prefix xlfdoc_path rpm -ivh xlf.samples-9.1.1-0.ppc64.rpm --prefix xlfsmpls_path
Product migration installation does not apply to RHEL4, SLES9, or Y-HPC, because V9.1 is the first version of XL Fortran supported on those operating systems.
If you have the base version of the compiler installed, it is highly recommended that you uninstall it before you install a new version of the product.
If you want to have more than one version of the compiler on the system, refer to instructions in Procedures for advanced users.
Before applying PTF updates, it is highly recommended that you uninstall any previous compiler packages.
Notes:
To query for 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 compiler packages, issue the following command:
rpm -qa | grep -e xlf -e xlsmp -e xlmass
If none of the packages are installed, the output of the command will be null.
Man pages are provided for the compiler invocation commands and other utilities that are supplied with the compiler.
Before you can read the man pages, you must add the full path to the XL Fortran MANPATH environment variable, as follows:
export LANG=locale
setenv LANG locale
The supported locales for manual pages are as follows:
For example, to view man pages in English, enter either of the following commands:
export LANG=en_US
setenv LANG en_US
How to update the MANPATH environment variable | |
Shell | Command |
---|---|
bash or ksh | export MANPATH=/opt/ibmcmp/xlf/9.1/man:$MANPATH |
csh | setenv 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.
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:
If only one version of the compiler is installed on your system, you should use the new_install utility to configure the compiler. The new_install utility automatically backs up any existing configuration file and invokes the xlf_configure utility. In order to run new_install, you must have root or administrator privileges.
You should invoke the xlf_configure utility directly only when at least one of the following is true:
For instructions, see Running the xlf_configure utility directly
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. |
If no version of the compiler is already installed on your system, you should use the new_install utility to install and configure the compiler.
The new_install utility:
When running new_install on RHEL4, Y-HPC, or SLES9, you will be required to accept the license agreement before the configuration file is generated. In order to run the license acceptance tool, you must have installed the Java(TM) Runtime Environment, as specified in Table 7
To run the new_install utility:
cd /opt/ibmcmp/xlf/9.1/bin
or, if you installed XL Fortran V9.1 in a non-default location:
cd xlf_path/xlf/9.1/bin
./new_install
The new_install command executes the following command:
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
The xlf_configure utility 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:
For example, if the GCC command is /usr/bin/gcc, you would specify
-gcc /usr
xlf_path/xlf/9.1/etc/xlf.base.cfg.
The following documentation is provided with XL Fortran V9.1:
If you want to be able to invoke the compiler without having to specify the full path, you must do either of the following:
To create a symbolic link for one of the XL Fortran V9.1 compiler invocations (for example xlf) that is installed in the xlf_path, use the following command:
ln -s xlf_path/xlf/9.1/bin/xlf /usr/bin/xlf
Example: if the compiler is in the default location, use the following command:
ln -s /opt/ibmcmp/xlf/9.1/bin/xlf /usr/bin/xlf
To modify the PATH environment variable for XL Fortran V9.1, add the target path (xlf_path/xlf/9.1/bin/xlf/9.1/bin) to the PATH environment variable:
Example: If the compiler is in the default location, use the following command to modify the PATH environment variable
export PATH=$PATH:/opt/ibmcmp/xlf/9.1/bin
To test the product install and the critical search paths, try building the following simple application.
PRINT *, "Hello World!" END
xlf hello.f -o hello
./hello
The expected result is that "Hello World!" is displayed on the screen.
echo $?
The result should be 0.
Notes:
Uninstall the compiler packages in the following order to avoid dependency errors during uninstallation:
rpm -e xlf.cmp-9.1.1-0 rpm -e xlf.lib-9.1.1-0 rpm -e xlf.lic-9.1.1-0 rpm -e xlf.rte.lnk-9.1.1-0 rpm -e xlf.rte-9.1.1-0 rpm -e xlf.msg.rte-9.1.1-0 rpm -e xlmass.lib-4.1.1-0 rpm -e xlsmp.lib-1.5.1-0 rpm -e xlsmp.rte-1.5.1-0 rpm -e xlsmp.msg.rte-1.5.1-0
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.1-0 rpm -e xlf.help-9.1.1-0
If you have a previous version of the compiler installed, it is highly recommended that you uninstall it before you install a new version of the product. These procedures are for users who are
You might want to install multiple versions of the compiler on a system to satisfy the requirements of the following scenarios:
For this scenario, follow the instructions in Non-default installation on RHEL3 U3 or RHEL4.
For this scenario, follow the instructions in Default installation on RHEL3 U3 or RHEL4. Your existing compiler version will use the corresponding version of the run-time environment and your new compiler version will use its corresponding run-time environment. For example, if you have Fortran V8.1 already installed, it will continue to use V8.1 of the run-time environment. When you install XL Fortran V9.1 to the default location, it will use XL Fortran V9.1 of the run-time environment.
For this scenario, follow the instructions in Using the latest run-time environment with multiple Fortran compiler versions (RHEL3 U3 only). Both your existing compiler version and the newly installed compiler version will use the newly-installed run-time environment. For example, when you install XL Fortran V9.1 to the default location, it will use XL Fortran V9.1 of the run-time environment. If you have Fortran V8.1 already installed, it will also use XL Fortran V9.1 of the run-time environment.
For this scenario, follow the instructions in Trying out a PTF update to the compiler.
If you want to have both XL Fortran V8.1 and XL Fortran V9.1 installed on the same system and you would like both to use the more current XL Fortran V9.1 run-time environment, you will must ensure that the newer XL Fortran V9.1 run-time-related packages overwrite the existing XL Fortran V8.1 run-time-related packages.
The following table lists the run-time-related packages for both Visual Age Fortran V8.1 and XL Fortran V9.1.
Run-time-related packages | |
XL Fortran V8.1 run-time-related packages | XL Fortran 9.1 run-time-related packages |
---|---|
xlsmp.msg.rte-1.3.M-F | xlsmp.msg.rte-1.5.M-F |
xlsmp.rte-1.3.M-F | xlsmp.rte-1.5.M-F |
xlsmp.lib-1.3.M-F | xlsmp.lib-1.5.M-F |
xlf.msg.rte 8.1.m-f | xlf.msg.rte 9.1.m-f |
xlf.rte 8.1.m-f | xlf.rte 9.1.m-f |
xlf.rte.lnk 9.1.m-f |
This example uses the following scenario:
For this scenario, use the following steps:
rpm -e xlsmp.msg.rte-1.3.7-2 --nodeps
rpm -e xlf.msg.rte-8.1.1-1 --nodeps
rpm -ivh xlsmp.msg.rte-1.5.1-0.ppc64pseries.rpm
rpm -ivh xlsmp.rte-1.5.1-0.ppc64pseries.rpm --force
rpm -ivh xlsmp.lib-1.5.1-0.ppc64pseries.rpm
rpm -ivt xlmass.lib-4.1.1-0.ppc64pseries.rpm --prefix xlmass_path
rpm -ivh xlf.lic-9.1.1-0.ppc64pseries.rpm --prefix xlflic_path
rpm -ivh xlf.lib-9.1.1-0.ppc64pseries.rpm --prefix xlf_path
rpm -ivh xlf.cmp-9.1.1-0.ppc64pseries.rpm --prefix xlf_path
rpm -ivh xlf.msg.rte-9.1.1-0.ppc64pseries.rpm --prefix xlf_path
rpm -ivh xlf.rte-9.1.1-0.ppc64pseries.rpm --force
rpm -ivh xlf.rte.lnk-9.1.1-0.ppc64pseries.rpm
rpm -ivh xlf.help-9.1.1-0.ppc64pseries.rpm --prefix xlf_path
rpm -ivh xlf.samples-9.1.1-0.ppc64pseries.rpm --prefix xlf_path
xlf_path/xlf/9.1/bin/xlf_configure
-gcc /usr
-gcc64 /usr
-mass xlmass_path/xlmass/4.1
-smprt /opt/ibmcmp/xlsmp/1.5
-xlf xlf_path/xlf/9.1
-xlfrt /opt/ibmcmp/xlf/9.1
-xlflic xlflic_path/xlf/9.1
xlf_path/xlf/9.1/etc/xlf.base.cfg
-o /etc/opt/ibmcmp/xlf/9.1/xlf.cfg
When applying PTF updates, you can test the PTF update before uninstalling the previous Fix level. You must install the PTF to a different location (follow the instructions in Installation). In this case, there will be no need to reinstall xlf.lic.
Later, when you have verified that you want the PTF and are ready to uninstall the previous version, you can follow the instructions in Uninstalling XL Fortran.
Notes:
This chapter describes possible problems you may encounter when you configure XL Fortran V9.1.
ERROR: Could not determine location of 32-bit GCC. Suggestion: Ensure 32-bit "glibc-devel", 32-bit "libstdc++-devel" are installed. These packages can be obtained from your operating system install media.
ERROR: Could not determine location of 64-bit GCC. Suggestion: Ensure 64-bit "glibc-devel", 64-bit "libstdc++-devel" are installed. These packages can be obtained from your operating system install media.
ERROR: Please ensure all relevant 32 and 64-bit GCC packages are installed before running "new_install" again. If they are installed but cannot be detected by "new_install", please run "xlf_configure" manually.
gcc helloWorld.c g++ helloWorld.cpp
gcc -m64 helloWorld.c g++ -m64 helloWorld.cpp
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.
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.
ERROR: Could not run the license acceptance tool. Please ensure you have installed either libgcj, or both java2 and java2-jre RPM(s) from your operating system installation media.
Use one of the following options to get a more verbose output: