[overture] Re: parallel overture and openmpi

  • From: Alessandro Orchini <aorchini@xxxxxxxxxx>
  • To: <overture@xxxxxxxxxxxxx>
  • Date: Mon, 26 Mar 2012 18:18:10 +0200



Thanks Bill, 

of course I forget the MPI_ROOT variable, adding that the make worked.

But now I'm facing a new problem with cg.v24: when i make the program the 
compiler print out a huge list of errors of the type

/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/istream:691:
 error: template with C linkage

followed by some errors about MPI:

/usr/lib64/openmpi/1.4-gcc/include/openmpi/ompi/mpi/cxx/functions.h:61: error: 
declaration of C function ‘void MPI::Init()’ conflicts with
/usr/lib64/openmpi/1.4-gcc/include/openmpi/ompi/mpi/cxx/functions.h:58: error: 
previous declaration ‘void MPI::Init(int&, char**&)’ here
/usr/lib64/openmpi/1.4-gcc/include/openmpi/ompi/mpi/cxx/functions.h:86: error: 
declaration of C function ‘int MPI::Init_thread(int)’ conflicts with
/usr/lib64/openmpi/1.4-gcc/include/openmpi/ompi/mpi/cxx/functions.h:83: error: 
previous declaration ‘int MPI::Init_thread(int&, char**&, int)’ here
/usr/lib64/openmpi/1.4-gcc/include/openmpi/ompi/mpi/cxx/file.h:40: error: 
declaration of C function ‘void MPI::Register_datarep(const char*, int 
(*)(void*, ompi_datatype_t*, int, void*, MPI_Offset, void*), void (*)(void*, 
MPI::Datatype&, int, void*, MPI::Offset, void*), void (*)(const MPI::Datatype&, 
MPI::Aint&, void*), void*)’ conflicts with
/usr/lib64/openmpi/1.4-gcc/include/openmpi/ompi/mpi/cxx/file.h:33: error: 
previous declaration ‘void MPI::Register_datarep(const char*, void (*)(void*, 
MPI::Datatype&, int, void*, MPI::Offset, void*), void (*)(void*, 
MPI::Datatype&, int, void*, MPI::Offset, void*), void (*)(const MPI::Datatype&, 
MPI::Aint&, void*), void*)’ here
/usr/lib64/openmpi/1.4-gcc/include/openmpi/ompi/mpi/cxx/file.h:47: error: 
declaration of C function ‘void MPI::Register_datarep(const char*, void 
(*)(void*, MPI::Datatype&, int, void*, MPI::Offset, void*), int (*)(void*, 
ompi_datatype_t*, int, void*, MPI_Offset, void*), void (*)(const 
MPI::Datatype&, MPI::Aint&, void*), void*)’ conflicts with
/usr/lib64/openmpi/1.4-gcc/include/openmpi/ompi/mpi/cxx/file.h:40: error: 
previous declaration ‘void MPI::Register_datarep(const char*, int (*)(void*, 
ompi_datatype_t*, int, void*, MPI_Offset, void*), void (*)(void*, 
MPI::Datatype&, int, void*, MPI::Offset, void*), void (*)(const MPI::Datatype&, 
MPI::Aint&, void*), void*)’ here
/usr/lib64/openmpi/1.4-gcc/include/openmpi/ompi/mpi/cxx/file.h:54: error: 
declaration of C function ‘void MPI::Register_datarep(const char*, int 
(*)(void*, ompi_datatype_t*, int, void*, MPI_Offset, void*), int (*)(void*, 
ompi_datatype_t*, int, void*, MPI_Offset, void*), void (*)(const 
MPI::Datatype&, MPI::Aint&, void*), void*)’ conflicts with
/usr/lib64/openmpi/1.4-gcc/include/openmpi/ompi/mpi/cxx/file.h:47: error: 
previous declaration ‘void MPI::Register_datarep(const char*, void (*)(void*, 
MPI::Datatype&, int, void*, MPI::Offset, void*), int (*)(void*, 
ompi_datatype_t*, int, void*, MPI_Offset, void*), void (*)(const 
MPI::Datatype&, MPI::Aint&, void*), void*)’ here
/usr/lib64/openmpi/1.4-gcc/include/openmpi/ompi/mpi/cxx/functions_inln.h:96: 
error: ‘void MPI::Init(int&, char**&)’ should have been declared inside ‘MPI’
/usr/lib64/openmpi/1.4-gcc/include/openmpi/ompi/mpi/cxx/functions_inln.h: In 
function ‘void MPI::Init(int&, char**&)’:
/usr/lib64/openmpi/1.4-gcc/include/openmpi/ompi/mpi/cxx/functions_inln.h:96: 
error: declaration of C function ‘void MPI::Init(int&, char**&)’ conflicts with
/usr/lib64/openmpi/1.4-gcc/include/openmpi/ompi/mpi/cxx/functions.h:61: error: 
previous declaration ‘void MPI::Init()’ here
/usr/lib64/openmpi/1.4-gcc/include/openmpi/ompi/mpi/cxx/functions_inln.h: At 
global scope:
/usr/lib64/openmpi/1.4-gcc/include/openmpi/ompi/mpi/cxx/functions_inln.h:103: 
error: ‘void MPI::Init()’ should have been declared inside ‘MPI’
/usr/lib64/openmpi/1.4-gcc/include/openmpi/ompi/mpi/cxx/functions_inln.h: In 
function ‘void MPI::Init()’:
/usr/lib64/openmpi/1.4-gcc/include/openmpi/ompi/mpi/cxx/functions_inln.h:103: 
error: declaration of C function ‘void MPI::Init()’ conflicts with
/usr/lib64/openmpi/1.4-gcc/include/openmpi/ompi/mpi/cxx/functions_inln.h:96: 
error: previous declaration ‘void MPI::Init(int&, char**&)’ here
/usr/lib64/openmpi/1.4-gcc/include/openmpi/ompi/mpi/cxx/functions_inln.h: At 
global scope:
/usr/lib64/openmpi/1.4-gcc/include/openmpi/ompi/mpi/cxx/functions_inln.h:147: 
error: ‘int MPI::Init_thread(int&, char**&, int)’ should have been declared 
inside ‘MPI’
/usr/lib64/openmpi/1.4-gcc/include/openmpi/ompi/mpi/cxx/functions_inln.h: In 
function ‘int MPI::Init_thread(int&, char**&, int)’:
/usr/lib64/openmpi/1.4-gcc/include/openmpi/ompi/mpi/cxx/functions_inln.h:147: 
error: declaration of C function ‘int MPI::Init_thread(int&, char**&, int)’ 
conflicts with
/usr/lib64/openmpi/1.4-gcc/include/openmpi/ompi/mpi/cxx/functions_inln.h:137: 
error: previous declaration ‘int MPI::Init_thread(int)’ here
make[1]: *** [obj/PETScSolver.o] Error 1
make[1]: Leaving directory `/local_data/usr/src/SW/cg.v24/ins'
make: *** [cgins] Error 2



I think all the variable are well defined this time, is a compiler version 
problem? With the same compiler I installed the serial version without any 
problem!

Thanks

Alessandro




Date: Wed, 21 Mar 2012 08:58:15 -0700
From: henshaw@xxxxxxxx
To: overture@xxxxxxxxxxxxx
Subject: [overture] Re: parallel overture and openmpi


  


    
  
  
    Hi Alessandro,

       mpi.h cannot be found -- I think you may need to define MPI_ROOT

    

    ...Bill

    

    On 03/21/2012 05:05 AM, Alessandro Orchini wrote:
    
      
      
        

        Hi,

        

        I'm installing a parallel version of Overture on Red Hat -
        Scientific Linux SL release 5.7, on which I've installed
        successfully the serial version 

        

        So far i've installed openmpi and I've compiled P++, hdf5 in
        parallel and PETSc switching on the mpi configure option.

        

        Then I've configured Overture with the following commands

        

        

        export APlusPlus=/home/orchini/SW/A++P++-0.8.0/P++/install/

        

        export PPlusPlus=/home/orchini/SW/A++P++-0.8.0/P++/install/

        

        export OpenGL=/usr

        

        export XLIBS=/usr

        

        export MOTIF=/usr

        

        export HDF=/home/orchini/SW/hdf5-1.6.5

        

        export Overture=/home/orchini/SW/Overture.v24

        

        export PETSC_DIR=/home/orchini/SW/petsc-2.3.2

        

        export PETSC_ARCH=linux-gnu-opt

        

        export PETSC_LIB=$PETSC_DIR/lib/$PETSC_ARCH

        

        export LAPACK=/usr

        

        

        

        ./configure multigrid petsc useHDF5 opt parallel FC=gfortran
        CC=g++ cc=gcc

        

        

        and it seems to work fine, but when I type make i got the
        following error:

        

        g++ -DHAVE_CONFIG_H -I.
        -I/home/orchini/SW/A++P++-0.8.0/P++/install//../src/array_src/../..
        
-I/home/orchini/SW/A++P++-0.8.0/P++/install//../src/array_src/../../include
        
-I/home/orchini/SW/A++P++-0.8.0/P++/install//../src/array_src/../../PARTI
        -I/home/orchini/SW/A++P++-0.8.0/P++/install//../src/array_src/../PARTI
        -I/include   
        
-I/home/orchini/SW/A++P++-0.8.0/P++/install//../src/array_src/../../PADRE/src
        
-I/home/orchini/SW/A++P++-0.8.0/P++/install//../src/array_src/../../PADRE
        
-I/home/orchini/SW/A++P++-0.8.0/P++/install//../src/array_src/../../PARTI
        
-I/home/orchini/SW/A++P++-0.8.0/P++/install//../src/array_src/../../PARTI
        
-I/home/orchini/SW/A++P++-0.8.0/P++/install//../src/array_src/../../PADRE/PGSLIB
        
-I/home/orchini/SW/A++P++-0.8.0/P++/install//../src/array_src/../../PADRE/PGSLIB
        
-I/home/orchini/SW/A++P++-0.8.0/P++/install//../src/array_src/../../PGSLIB
        -I/home/orchini/SW/A++P++-0.8.0/P++/install//../src/array_src/../PGSLIB
        -O  -fPIC -Wno-deprecated -c partitioning.C

        partitioning.C:10:20: error: mpi.h: No such file or directory

        
/home/orchini/SW/A++P++-0.8.0/P++/install//../src/array_src/../../PARTI/mpi-port.h:24:
        error: ‘MPI_Request’ has not been declared

        
/home/orchini/SW/A++P++-0.8.0/P++/install//../src/array_src/../../PARTI/mpi-port.h:25:
        error: ‘MPI_Request’ has not been declared

        
/home/orchini/SW/A++P++-0.8.0/P++/install//../src/array_src/../../PARTI/mpi-port.h:27:
        error: ‘MPI_Request’ has not been declared

        
/home/orchini/SW/A++P++-0.8.0/P++/install//../src/array_src/../../PARTI/mpi-port.h:28:
        error: ‘MPI_Request’ has not been declared

        
/home/orchini/SW/A++P++-0.8.0/P++/install//../src/array_src/../../PARTI/mpi-port.h:29:
        error: ‘MPI_Request’ was not declared in this scope

        
/home/orchini/SW/A++P++-0.8.0/P++/install//../src/array_src/../../PARTI/mpi-port.h:29:
        error: ‘gid’ was not declared in this scope

        
/home/orchini/SW/A++P++-0.8.0/P++/install//../src/array_src/../../PARTI/mpi-port.h:30:
        error: ‘MPI_Request’ was not declared in this scope

        
/home/orchini/SW/A++P++-0.8.0/P++/install//../src/array_src/../../PARTI/mpi-port.h:30:
        error: ‘gid’ was not declared in this scope

        
/home/orchini/SW/A++P++-0.8.0/P++/install//../src/array_src/../../PARTI/port.h:56:
        error: ‘MPI_Comm’ does not name a type

        
/home/orchini/SW/A++P++-0.8.0/P++/install//../src/array_src/../../include/comm_man.h:46:
        error: ‘MPI_Group’ does not name a type

        
/home/orchini/SW/A++P++-0.8.0/P++/install//../src/array_src/../../include/comm_man.h:47:
        error: ‘MPI_Comm’ does not name a type

        
/home/orchini/SW/A++P++-0.8.0/P++/install//../src/array_src/../../include/comm_man.h:99:
        error: ISO C++ forbids declaration of ‘MPI_Comm’ with no type

        
/home/orchini/SW/A++P++-0.8.0/P++/install//../src/array_src/../../include/comm_man.h:99:
        error: expected ‘;’ before ‘&’ token

        make[1]: *** [partitioning.o] Error 1

        make[1]: Leaving directory
        `/local_data/usr/src/SW/Overture.v24/GridFunction'

        make: *** [all] Error 2

        

        

        

        Should I define some extra variable that I am missing? 

        

        Thanks

        

        Alessandro

        

      
    
    
                                          

Other related posts: