Product specifications

Table Of Contents
D–Troubleshooting
QLogic MPI Troubleshooting
IB6054601-00 H D-15
A
Compiler/Linker Mismatch
If the compiler and linker do not match in C and C++ programs, the following error
message appears:
$ export MPICH_CC=gcc
$ mpicc mpiworld.c
/usr/bin/ld: cannot find -lmpichabiglue_gcc3
collect2: ld returned 1 exit status
Compiler Cannot 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 Fortran 90 and Fortran 95) from mpi-devel*, and the libraries
from mpi-libs*, in the new locations. Compiler errors similar to the following
appear:
$ mpicc myprogram.c
/usr/bin/ld: cannot find -lmpich
collect2: ld returned 1 exit status
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 ensure that the
run-time library path is the same as the path that was used to compile the
program.
The following examples show what compiler options to use for include files and
libraries on the development nodes, and how to specify the 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)
For the examples in “Compiling on Development Nodes” on page D-16, it is
assumed that the new locations are:
/path/to/devel (for mpi-devel-*)
/path/to/libs (for mpi-libs-*)
NOTE:
As noted in the Software Installation section of the QLogic HCA and QLogic
OFED Software Install Guide, all development files now reside in specific
*-Devel subdirectories.