ok but the problme is that I have another type of mpi from Scali, and when I put in my make file "mpicc" and "mpic++" it goes and uses the Scali MPI's compilers which have exactly the same names "mpicc and mpic++"...So It did not give me any error, but i felt that it used the Scali stuff and not the openmpi's. So i modified my Makefile as follows: ============================================================== export CPP=/opt/openmpi/1.2.7/bin/mpic++ #/usr/local/bin/g++ export CC=/opt/openmpi/1.2.7/bin/mpicc #/usr/local/bin/gcc export AR=ar export YACPP=yacc
#export DEFINES_CPP += -DNEWCOORDIN #=========================================================================== #PCD++ Directory Details
#jacky: change the following line to reflect your pcd code directory //:~
export MAINDIR=/nfs/sjafer/phd/openMPI/openmpi_cd++_timewarp export INCLUDES_CPP +=-I$(MAINDIR)/include
#If running parallel simulation, uncomment the following lines export DEFINES_CPP += -DMPI #export LIBMPI = -lmpi
#===========================================================================
#=========================================================================== #MPI Directory Details ##export
MPIDIR=/opt/openmpi/1.2.7/ ##export LDFLAGS +=-L$(MPIDIR)/lib ##export INCLUDES_CPP += -I$(MPIDIR)/include
###export LDFLAGS+=-L. -L$/opt/openmpi/1.2.7/lib
============================================================== and i am still getting the follwoing errors : opt/openmpi/1.2.7/include/openmpi/ompi/mpi/cxx/comm.h: At top level: /opt/openmpi/1.2.7/include/openmpi/ompi/mpi/cxx/comm.h:84: parse error before `protected' /opt/openmpi/1.2.7/include/openmpi/ompi/mpi/cxx/comm.h:96: base class `Comm_Null' has incomplete type /opt/openmpi/1.2.7/include/openmpi/ompi/mpi/cxx/comm.h: In method `Comm::Comm(const Comm &)': /opt/openmpi/1.2.7/include/openmpi/ompi/mpi/cxx/comm.h:153: `class Comm' has no member named `mpi_comm' /opt/openmpi/1.2.7/include/openmpi/ompi/mpi/cxx/comm.h:153: type `Comm_Null' is not an immediate basetype for `Comm' /opt/openmpi/1.2.7/include/openmpi/ompi/mpi/cxx/comm.h: In method `Comm::Comm(ompi_communicator_t *)': /opt/openmpi/1.2.7/include/openmpi/ompi/mpi/cxx/comm.h:155: type `Comm_Null' is not an immediate basetype for `Comm' In file included from /opt/openmpi/1.2.7/include/openmpi/ompi/mpi/cxx/mpicxx.h:199, from /opt/openmpi/1.2.7/include/mpi.h:1795, from stdaload.cpp:33: /opt/openmpi/1.2.7/include/openmpi/ompi/mpi/cxx/win.h: At top level: /opt/openmpi/1.2.7/include/openmpi/ompi/mpi/cxx/win.h:27: parse error before `::' /opt/openmpi/1.2.7/include/openmpi/ompi/mpi/cxx/win.h:28: parse error before `::' /opt/openmpi/1.2.7/include/openmpi/ompi/mpi/cxx/win.h:93: `static' can only be specified for objects and functions /opt/openmpi/1.2.7/include/openmpi/ompi/mpi/cxx/win.h:93: ANSI C++ forbids declaration `' with no type /opt/openmpi/1.2.7/include/openmpi/ompi/mpi/cxx/win.h:93: confused by earlier errors, bailing outmake: *** [stdaload.o] Error 1
--- On Wed, 9/17/08, Jeff Squyres <jsquyres@cisco.com> wrote:
From: Jeff Squyres <jsquyres@cisco.com> Subject: Re: [OMPI users] errors returned from openmpi-1.2.7 source code To: "Open MPI Users" <users@open-mpi.org> Date: Wednesday, September 17, 2008, 11:21 AM
You shouldn't need to add any -I's or -L's or -l's for Open MPI. Just use mpic++ and mpicc (per my first note, notice that "mpicc" (lower case) is the C compiler -- mpiCC is a synonym for the C++ compiler -- this could be your problem). Those wrappers add all the compiler / linker flags that you need.
On Sep 17, 2008, at 2:16 PM, Shafagh Jafer wrote:
> The openmpi is installed in the following path: /opt/openmpi/1.2.7 > so should i replce what you told me about /usr/lib with /opt/openmpi/ > 1.2.7 ?? > > --- On Wed, 9/17/08, Jeff Squyres <jsquyres@cisco.com>
wrote: > From: Jeff Squyres <jsquyres@cisco.com> > Subject: Re: [OMPI users] errors returned from openmpi-1.2.7 source > code > To: "Open MPI Users" <users@open-mpi.org> > Date: Wednesday, September 17, 2008, 9:22 AM > > I don't quite understand the format of this file, but at first glance, > you shouldn't need the following lines: > > export LIBMPI = -lmpi > > export MPIDIR=/nfs/sjafer/phd/openMPI/installed > export LDFLAGS +=-L$(MPIDIR)/lib > export INCLUDES_CPP += -I$(MPIDIR)/include > > It also doesn't seem like the last 2 arguments of this line are a good > idea (the linker should automatically put /usr/lib and /lib in your > search path, if appropriate): > > export LDFLAGS+=-L. -L$/usr/lib -L$/lib > > I also notice: > > export CPP=mpic++ > export CC=mpiCC > > I think you
want "mpicc" for CC (note the lower case) -- mpiCC is the > C > ++ compiler (mpic++ and mpiCC are synonyms). > > This might solve your problem. > > > > On Sep 15, 2008, at 4:56 PM, Shafagh Jafer wrote: > > > i am sending you my simulator's Makefile.common which points to > > openmpi, please take a look at it. Thanks a lot. > > > > --- On Mon, 9/15/08, Jeff Squyres <jsquyres@cisco.com> wrote: > > From: Jeff Squyres <jsquyres@cisco.com> > > Subject: Re: [OMPI users] errors returned from openmpi-1.2.7 source > > code > > To: "Open MPI Users" <users@open-mpi.org> > > Date: Monday, September 15, 2008, 11:21 AM > > > > On Sep 14, 2008, at 1:24 PM, Shafagh Jafer wrote: > > > > > I installed openmpi-1.2.7 and tested the hello_c and ring_c > examples > >
> on single and multiple node and worked fine. However, when I use > > > openmpi with my simulator (by replacing the old mpich path with
> the > > > new openmpi ) I get many errors reported from "/openMPI/ > > > openmpi-1.2.7/include/openmpi/ompi/mpi/cxx/*.h" . Please see the > > > following snap shots: > > > > > > > It's not clear exactly what you did here. Did you just replace > > MPICH's "mpiCC" with OMPI's "mpiCC"? FWIW, > this is > > almost always the > > easiest way to compile MPI applications: use that implementation's > > "wrapper" compiler (I'm assuming you have a C++ code in this > > case). > > > > These errors should not normally happen; they look kinda like you're > > somehow inadvertently mixing Open MPI and MPICH. > > > > -- > >
Jeff Squyres > > Cisco Systems > > > > _______________________________________________ > > users mailing list > > users@open-mpi.org > > http://www.open-mpi.org/mailman/listinfo.cgi/users > > > > <Makefile.common>_______________________________________________ > > users mailing list > > users@open-mpi.org > > http://www.open-mpi.org/mailman/listinfo.cgi/users > > > -- > Jeff Squyres > Cisco Systems > > _______________________________________________ > users mailing list > users@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/users > > _______________________________________________ > users mailing list > users@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/users
-- Jeff Squyres Cisco
Systems
_______________________________________________ users mailing list users@open-mpi.org http://www.open-mpi.org/mailman/listinfo.cgi/users
|