Q-Logic IB6054601-00 D manual Compiling on Development Nodes, Specifying the Run-time Library Path

Models: IB6054601-00 D

1 122
Download 122 pages 48.66 Kb
Page 90
Image 90
--prefix

C – Troubleshooting InfiniPath MPI Troubleshooting

Q

For these examples in Section C.8.5 below, we assume that these new locations are:

/path/to/devel (for mpi-devel-*) /path/to/libs (for mpi-libs-*)

C.8.5

Compiling on Development Nodes

If the mpi-devel-*rpm is installed with the --prefix /path/to/develoption then mpicc, etc. will need to be passed -I/path/to/devel/includein order for the compiler to find the MPI include files, as in this example:

$ mpicc myprogram.c -I/path/to/devel/include

If you are using Fortran90 or Fortran95, a similar option is needed for the compiler to find the module files:

$ mpif90 myprogramf90.f90 -I/path/to/devel/include

If the mpi-lib-*rpm is installed on these development nodes with the /path/to/libs option, then the compiler will need to be given the -L/path/to/libsoption so it can find the libraries. Here is the example for mpicc:

$ mpicc myprogram.c -L/path/to/libs/lib (for 32 bit) $ mpicc myprogram.c -L/path/to/libs/lib64 (for 64bit)

To find both the include files and the libraries with these non-standard locations, we would now see an example like this:

$ mpicc myprogram.c -I/path/to/devel/include -L/path/to/libs/lib

C.8.6

Specifying the Run-time Library Path

There are several ways to specify the run-time library path so that when the programs are run the appropriate libraries are found in the new location. There are three different ways to do this:

Use the -Wl,-rpath,option when compiling on the development node.

Update the /etc/ld.so.conf file on the compute nodes to include the path.

Export the path in the .mpirunrc file.

These methods are explained in more detail below.

1.An additional linker option, -Wl,-rpath,supplies the run-time library path when compiling on the development node. The compiler options now look like this:

$ mpicc myprogram.c -I/path/to/devel/include

-L/path/to/libs/lib -Wl,-rpath,/path/to/libs/lib

C-16

IB6054601-00 D

Page 90
Image 90
Q-Logic IB6054601-00 D manual Compiling on Development Nodes, Specifying the Run-time Library Path