My head hurts from working on this! I just realized <omp.h> is for
OpenMP, not OpenMPI. So, of course the PGI <omp.h> is used. I still
don't know why otfprofile is failing, but at least that explains why
OpenMPI-1.5rc5 has no <mpi.h>.
Sorry for the noise.
Larry Baker
US Geological Survey
650-329-5608
ba...@usgs.gov
Begin forwarded message:
From: Larry Baker <ba...@usgs.gov>
Date: August 31, 2010 10:04:35 AM PDT
To: Open MPI Developers <de...@open-mpi.org>
Subject: Re: [OMPI devel] 1.5rc5 has been posted
Reply-To: Open MPI Developers <de...@open-mpi.org>
The make of OpenMPI 1.5rc5 fails for PGI 10.3 in otfprofile:
Making all in otfprofile
make[9]: Entering directory `/usr/local/src/openmpi-1.5rc5/ompi/
contrib/vt/vt/extlib/otf/tools/otfprofile'
CXX otfprofile-otfprofile.o
"/opt/pgi/linux86-64/10.3/include/omp.h", line 41: error: expected an
identifier
extern int omp_get_thread_num(void);
^
"/opt/pgi/linux86-64/10.3/include/omp.h", line 43: error: expected an
identifier
extern int omp_get_num_threads(void);
^
2 errors detected in the compilation of "otfprofile.cpp".
The errors are coming from an <omp.h> file that comes with the PGI
compiler. I would think OpenMPI would use its own. The problem is,
there isn't one (yet?):
[root@hydra otfprofile]# find /usr/local/src/openmpi-1.5rc5 -name
omp.h
The C++ file that is using the PGI <omp.h> file is ompi/contrib/vt/
vt/extlib/otf/tools/otfprofile/otfprofile.cpp:
[root@hydra otfprofile]# cd ompi/contrib/vt/vt/extlib/otf/tools/
otfprofile
[root@hydra otfprofile]# grep omp.h *.cpp
otfprofile.cpp:# include <omp.h>
I ran the compile from make -n to verify that:
[root@hydra otfprofile]# pgcpp -m64 -DHAVE_CONFIG_H -I. -I../.. -
I../../otflib -I../../otflib -DINSIDE_OPENMPI -D_REENTRANT -mp -g
-O3 -tp amd64 -DNO_PGI_OFFSET -c -o otfprofile-otfprofile.o `test -
f 'otfprofile.cpp' || echo './'`otfprofile.cpp
"/opt/pgi/linux86-64/10.3/include/omp.h", line 41: error: expected an
identifier
extern int omp_get_thread_num(void);
^
"/opt/pgi/linux86-64/10.3/include/omp.h", line 43: error: expected an
identifier
extern int omp_get_num_threads(void);
^
2 errors detected in the compilation of "otfprofile.cpp".
I don't know how to fix this. Where is otfprofile.cpp expecting to
get <omp.h>? Why isn't it there? I'm beginning to think this
contrib/vt stuff should not be enabled by default. I don't know
that it is needed in general.
Larry Baker
US Geological Survey
650-329-5608
ba...@usgs.gov
On Aug 17, 2010, at 2:18 PM, Jeff Squyres wrote:
We still have one known possible regression:
https://svn.open-mpi.org/trac/ompi/ticket/2530
But we posted rc5 anyway (there's a bunch of stuff that has been
pending for a while that is now in). Please test!
http://www.open-mpi.org/software/ompi/v1.5/
--
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/
_______________________________________________
devel mailing list
de...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/devel
_______________________________________________
devel mailing list
de...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/devel