That would be one way it dies, but we kept getting errors during compilation without the compilation process exiting which is arguably worse than the behavior you saw.

OpenMPI's mpicc doesn't support the -cc flag so it just passes it to pgcc, which doesn't support it either. The easy way to fix it is recompiling OpenMPI with gcc and pgf

./configure CC=gcc CXX=g++ F77=pgf... FC=pgf... ...

After that, edit the WRF configure.wrf and remove every instance of -cc=${SOMEVAR} I think there should be two, but I don't have access to mine at the moment to tell you the exact names.

Gerry Creager wrote:
Elvedin,

Yeah, I thought about that after finding a reference to this in the archives, so I redirected the path to MPI toward the gnu-compiled version. It died in THIS manner:
make[3]: Entering directory `/home/gerry/WRFv3/WRFV3/external/RSL_LITE'
mpicc -cc=gcc -DFSEEKO64_OK  -w -O3 -DDM_PARALLEL   -c c_code.c
pgcc-Error-Unknown switch: -cc=gcc
make[3]: [c_code.o] Error 1 (ignored)

Methinks the wrf configuration script and make file will need some tweeks.

Interesting thing: I have another system (alas, with mpich) where it compiles just fine. I'm trying to sort this out, as on 2 systems, with openMPI, it does odd dances before dying.

I'm still trying things. I've gotta get this up both for MY research and to support other users.

Thanks, Gerry

Elvedin Trnjanin wrote:
WRF almost requires that you use gcc for the C/C++ part and the PGI Fortran compilers, if you choose that option. I'd suggest compiling OpenMPI in the same way as that has resolved our various issues. Have you tried that with the same result?

Gerry Creager wrote:
Howdy,

I'm new to this list. I've done a little review but likely missed something specific to what I'm asking. I'll keep looking but need to resolve this soon.

I'm running a Rocks cluster (centos 5), with PGI 7.2-3 compilers, Myricom MX2 hardware and drivers, and OpenMPI1.3

I installed the Myricom roll which has OpenMPI compiled with gcc. I recently compiled the openmpi code w/ PGI.

I've the MPICH_F90 pointing to the right place, and we're looking for the right includes and libs by means of LD_LIBRARY_PATH, etc.

When I tried to run, I got the following error:
make[3]: Entering directory `/home/gerry/WRFv3/WRFV3/external/RSL_LITE'
mpicc  -DFSEEKO64_OK  -w -O3 -DDM_PARALLEL   -c c_code.c
PGC/x86-64 Linux 7.2-3: compilation completed with warnings
mpicc  -DFSEEKO64_OK  -w -O3 -DDM_PARALLEL   -c buf_for_proc.c
PGC-S-0036-Syntax error: Recovery attempted by inserting identifier .Z0000 before '(' (/share/apps/openmpi-1.3-pgi/include/mpi.h: 889) PGC-S-0082-Function returning array not allowed (/share/apps/openmpi-1.3-pgi/include/mpi.h: 889) PGC-S-0043-Redefinition of symbol, MPI_Comm (/share/apps/openmpi-1.3-pgi/include/mpi.h: 903)
PGC/x86-64 Linux 7.2-3: compilation completed with severe errors
make[3]: [buf_for_proc.o] Error 2 (ignored)

Note that I had modified the makefile to use PGI in place of gcc, and thus, the PGI-compiled openMPI.

Thanks, Gerry

_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users


Reply via email to