I need to support multiple compilers: Portland, Intel and GCC, so I've
been compiling OpenMPI with each compiler, to avoid the Fortran symbol
naming problems. When compiling, I'd use the --prefix and -exec-prefix
switches like so:

GCC:
../configure CC=gcc CXX=g++ F77=gfortran FC=gfortran
--prefix=/usr/local/openmpi-1.2.8
--exec-prefix=/usr/local/openmpi-1.2.8/gcc-4.1.2/x86

PGI:
../configure CC=pgcc CXX=pgCC F77=pgf77 FC=pgf90
--prefix=/usr/local/openmpi-1.2.8
--exec-prefix=/usr/local/openmpi-1.2.8/pgi-8.0/x86_64

Intel:
../configure CC=pgcc CXX=pgCC F77=pgf77 FC=pgf90
--prefix=/usr/local/openmpi-1.2.8
--exec-prefix=/usr/local/openmpi-1.2.8/pgi-8.0/x86_6

I compiled my versions of OpenMPI in the order above. Now when I try to
compile using pgcc, I get this error:

mpicc o mpihello mpihello.c
pgcc-Error-Unknown switch: -pthread

Clearly, the -pthread switch works with the Intel compilers, but not the
PGI compilers. I know I can edit files mpi*-wrapper-data.txt, but this
seems less than optimal. I'd like my users to be able to not need to
specify any additional compiler args if I can avoid it.

Also, since the previous mpi*-wrapper-data.txt files were overwritten
when I did 'make install' for the Intel compilers, is there anyway to
figure what those files contained for the GCC and PGI compilers w/o
recompiling.

Does each compiler need a completely separate tree under --prefix?

-- 
Prentice

Reply via email to