Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] WRF, OpenMPI and PGI 7.2
From: Elvedin Trnjanin (trnja001_at_[hidden])
Date: 2009-02-19 11:28:38

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
>> users_at_[hidden]