Use the lslpp command and grep for the compiler.
| Fortran | lslpp -l | grep xlf |
| C | lslpp -l | grep vac.C |
ESSL does not include all the routines in LAPACK, so you'll have to link to the
complete version of LAPACK to get the missing routines. Please add the following
to the end of your link options if your program is 32-bit:
-L/usr/local/apps/math/lapack/LAPACK -llapack-SP4_32
If your program is 64-bit (-q64), use the following link options:
-L/usr/local/apps/math/lapack/LAPACK -llapack-SP4_64
Do not remove references to ESSL and PESSL since you will want to use the
LAPACK routines there if they are available.
To create an executable that does not use any dynamic libraries, add the following linker switches:
-bnoso -bI:/usr/lib/syscalls.exp
The
-bstatic can also be used in place of the
-bnoso option.
If you see errors like the following when you try to link your program:
% mpxlf -q64 mpi_sample.f
** hello === End of Compilation 1 ===
1501-510 Compilation successful for file mpi_sample.f.
ld: 0711-328 ERROR: Undefined initfini symbol: poe_remote_main
ld: 0711-317 ERROR: Undefined symbol: .mpi_init
ld: 0711-317 ERROR: Undefined symbol: .mpi_comm_size
ld: 0711-317 ERROR: Undefined symbol: .mpi_comm_rank
ld: 0711-317 ERROR: Undefined symbol: .mpi_finalize
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
You must use
_r at the end of the compiler
name when you compile 64-bit MPI programs.
See the table of
compiler commands.
It is possible that the compiler needs more memory than is available
with your interactive limits. Please send an exact copy of the error message,
a pointer to your source code, and a reference to this FAQ entry to
NCSA's Consulting Office.