Q-Logic IB6054601-00 D Switch User Manual


 
C – Troubleshooting
InfiniPath MPI Troubleshooting
IB6054601-00 D C-15
Q
On a SLES 10 system, you would need:
compat-libstdc++ (for FC3)
compat-libstdc++5 (for SLES 10)
Depending upon the application, you may need to use the -W1,-Bstatic option to
use the static versions of some libraries.
C.8.3
Compiler/Linker Mismatch
This is a typical error message if the compiler and linker are not matching in C and
C++ programs:
$ export MPICH_CC=gcc
$ mpicc mpiworld.c
/usr/bin/ld: cannot find -lmpichabiglue_gcc3
collect2: ld returned 1 exit status
C.8.4
Compiler Can’t Find Include, Module or Library Files
RPMs can be installed in any location by using the --prefix option. This can
introduce errors when compiling, if the compiler cannot find the include files (and
module files for Fortran90 and Fortran95) from
mpi-devel*, and the libraries from
mpi-libs* in the new locations. Compiler errors similar to this can occur:
$ mpicc myprogram.c
/usr/bin/ld: cannot find -lmpich
collect2: ld returned 1 exit status
NOTE: As noted in section 3.5.2 of the InfiniPath Install Guide, all development
files now reside in specific *-Devel subdirectories.
On development nodes, programs must be compiled with the appropriate options
so that the include files and the libraries can be found in the new locations. In
addition, when running programs on compute nodes, you need to insure that the
run-time library path is the same as the path that was used to compile the program.
The examples below show what compiler options to use for include files and libraries
on the development nodes, and how to specify this new library path on the compute
nodes for the runtime linker. The affected RPMs are:
mpi-devel* (on the development nodes)
mpi-libs* (on the development or compute nodes)