Hi Debo, There seems to be a slight bug in the configure script. Try replacing the lines near line 515 in configure with: elsif( $arg =~ /^CC=(.*)/ ) { $CC = $1; $CC =~ s/ //g; if( $CC eq "kcc" ){ $CC = "KCC"; } } elsif( $arg =~ /^cc=(.*)/ ) { $cc = $1; $cc =~ s/ //g; } In other words, add the "^" before the CC and cc in the elsif tests. It worked for me after this change. Kyle -----Original Message----- From: overture-bounce@xxxxxxxxxxxxx [mailto:overture-bounce@xxxxxxxxxxxxx] On Behalf Of Debojyoti Ghosh Sent: Thursday, October 31, 2013 2:36 PM To: overture@xxxxxxxxxxxxx Subject: [overture] Re: Parallel compilation help Hi Kyle, Thanks for the help. I am trying this configure command that you suggested: ./configure linux parallel CC=mpicxx FC=mpif90 bCC=g++ bFC=gfortran This results in the make.options below. Note that the configure script is assigning the serial g++ and gcc compilers to both CC/cc and bCC/bcc. I am not sure why this is happening. If I try to configure without specifying bCC as g++, then it does not remove the blank space between "-Wl,-rpath" and OV_PERL_LIB, and I get an error during make. Thanks, Debo ---------------------------------------------------- # This file was generated by the Overture configure script # It can be included in other makefiles to define compilers etc. # machine=linux # arch= # double=Compiled in double precision # parallel=parallel CXX = g++ CC = gcc FC = mpif90 bCXX = g++ bCC = gcc bFC = gfortran LIB64 = lib64 OV_PARALLEL = parallel OV_AUTO_DOUBLE_FLAGS = -fdefault-real-8 -fdefault-double-8 OV_CXX_FLAGS = -fPIC OV_CC_FLAGS = -fPIC OV_FORTRAN_FLAGS = -fPIC OV_SHARED_LIB_FLAGS = -shared APlusPlus = /home/ghosh/Fusion/Overture/parallel/A++P++-0.8.0/P++/install PPlusPlus = /home/ghosh/Fusion/Overture/parallel/A++P++-0.8.0/P++/install OV_RPATH = -Wl,-rpath, OV_FORTRAN_LIBRARIES =-lgfortran OV_PERL_LIB = /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE OV_PERL_LIBRARIES =$(OV_RPATH)$(OV_PERL_LIB) -L$(OV_PERL_LIB) -lperl -lresolv -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc OV_OPENGL = /usr OV_OPENGL_LIB_DIR = $(OV_OPENGL)/lib64 OV_OPENGL_LIBRARIES = $(OV_RPATH)$(OV_OPENGL_LIB_DIR) -L$(OV_OPENGL_LIB_DIR) -lGL -lGLU -lGLw OV_MOTIF_LIB = /usr/lib64 OV_MOTIF_LIBRARIES = $(OV_RPATH)$(OV_MOTIF_LIB) -L$(OV_MOTIF_LIB) -lXm OV_XLIBS = /usr OV_XLIBS_LIB = $(OV_XLIBS)/lib64 OV_X_LIBRARIES = -L$(OV_XLIBS_LIB) -lXpm -lXp -lXt -lXmu -lXi -lXext -lX11 OV_COMPILER_LIBS = $(OV_RPATH)/soft/gcc/4.4.2/lib64 -L/soft/gcc/4.4.2/lib64 HDF = /home/ghosh/Fusion/Overture/parallel/hdf5-1.8.8 OV_HDF_LIBRARIES = $(OV_RPATH)$(HDF)/lib -L$(HDF)/lib -lhdf5 -ljpeg -lz OV_PARALLEL_INCLUDE = -I/soft/mvapich2/1.4-gcc-4.4.2-shared/include -DUSE_PPP APP_LIBRARIES = $(OV_RPATH)$(PPlusPlus)/lib -L$(PPlusPlus)/lib -lPpp -lPpp_static -Wl,-rpath,/soft/mvapich2/1.4-gcc-4.4.2-shared/lib -L/soft/mvapich2/1.4-gcc-4.4.2-shared/lib -L/var/tmp/pvfs-2.8.2/usr/lib -L/usr/lib64 -lmpich -lpthread -lrdmacm -libverbs -libumad -lpthread -lrdmacm -libverbs -libumad -lpvfs2 -lcrypto -lssl -lpthread -libverbs -lrt OVERTURE_LIBRARIES = $(OV_RPATH)$(Overture)/lib -L$(Overture)/lib -lOverture -lOverture_static ---------------------------------------------------- ----- Original Message ----- From: "Kyle K. Chand" <chand1@xxxxxxxx> To: overture@xxxxxxxxxxxxx Sent: Thursday, October 31, 2013 3:54:24 PM Subject: [overture] Re: Parallel compilation help Hi Debo, You may want to try specifying the "base" fortran and C++ compilers so that the configure script knows you are using gcc and gfortran under the hood. "configure --help" will give more details, but try: ./configure linux parallel CC=mpicxx FC=mpif90 bCC=g++ bFC=gfortran Kyle -----Original Message----- From: overture-bounce@xxxxxxxxxxxxx [mailto:overture-bounce@xxxxxxxxxxxxx] On Behalf Of Debojyoti Ghosh Sent: Thursday, October 31, 2013 1:45 PM To: overture@xxxxxxxxxxxxx Subject: [overture] Parallel compilation help Hi, I am trying install the parallel version of Overture and CG on a cluster. I was able to successfully install the serial version using GNU compilers (v4.4.2) on this same cluster. I am having trouble compiling the parallel version. I use: ./configure parallel CC=mpicxx cc=mpicc FC=mpif90 Resulting the following make.options: ------------------------------------------------------------------ # This file was generated by the Overture configure script # It can be included in other makefiles to define compilers etc. # machine=linux # arch=LINUX # double=Compiled in double precision # parallel=parallel CXX = mpicxx CC = mpicc FC = mpif90 bCXX = mpicxx bCC = mpicc bFC = mpif90 LIB64 = lib64 OV_PARALLEL = parallel OV_AUTO_DOUBLE_FLAGS = -r8 -i4 OV_CXX_FLAGS = -fPIC OV_CC_FLAGS = -fPIC OV_FORTRAN_FLAGS = -fPIC OV_SHARED_LIB_FLAGS = -shared APlusPlus = /home/ghosh/Fusion/Overture/parallel/A++P++-0.8.0/P++/install PPlusPlus = /home/ghosh/Fusion/Overture/parallel/A++P++-0.8.0/P++/install OV_RPATH = -Wl,-rpath, OV_FORTRAN_LIBRARIES = OV_PERL_LIB = /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE OV_PERL_LIBRARIES =$(OV_RPATH)$(OV_PERL_LIB) -L$(OV_PERL_LIB) -lperl -lresolv -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc OV_OPENGL = /usr OV_OPENGL_LIB_DIR = $(OV_OPENGL)/lib64 OV_OPENGL_LIBRARIES = $(OV_RPATH)$(OV_OPENGL_LIB_DIR) -L$(OV_OPENGL_LIB_DIR) -lGL -lGLU -lGLw OV_MOTIF_LIB = /usr/lib64 OV_MOTIF_LIBRARIES = $(OV_RPATH)$(OV_MOTIF_LIB) -L$(OV_MOTIF_LIB) -lXm OV_XLIBS = /usr OV_XLIBS_LIB = $(OV_XLIBS)/lib64 OV_X_LIBRARIES = -L$(OV_XLIBS_LIB) -lXpm -lXp -lXt -lXmu -lXi -lXext -lX11 OV_COMPILER_LIBS= HDF = /home/ghosh/Fusion/Overture/parallel/hdf5-1.8.8 OV_HDF_LIBRARIES = $(OV_RPATH)$(HDF)/lib -L$(HDF)/lib -lhdf5 -ljpeg -lz OV_PARALLEL_INCLUDE = -I/soft/mvapich2/1.4-gcc-4.4.2-shared/include -DUSE_PPP APP_LIBRARIES = $(OV_RPATH)$(PPlusPlus)/lib -L$(PPlusPlus)/lib -lPpp -lPpp_static -Wl,-rpath,/soft/mvapich2/1.4-gcc-4.4.2-shared/lib -L/soft/mvapich2/1.4-gcc-4.4.2-shared/lib -L/var/tmp/pvfs-2.8.2/usr/lib -L/usr/lib64 -lmpich -lpthread -lrdmacm -libverbs -libumad -lpthread -lrdmacm -libverbs -libumad -lpvfs2 -lcrypto -lssl -lpthread -libverbs -lrt OVERTURE_LIBRARIES = $(OV_RPATH)$(Overture)/lib -L$(Overture)/lib -lOverture -lOverture_static ------------------------------------------------------------------ This results in the following error: mpif90 -fPIC -r8 -i4 -g -I/home/ghosh/Fusion/Overture/parallel/Overture.v25/include -I. -c dbFunctions.f gfortran: unrecognized option '-r8' f951: error: unrecognized command line option "-i4" make[1]: *** [DataBase2_date] Error 1 Now if I try the following configure command: ./configure parallel CC=mpicxx cc=mpicc FC=mpif90 bCC=g++ bcc=gcc FC=gfortran Then the resulting make.options file is: ------------------------------------------------------------------ # This file was generated by the Overture configure script # It can be included in other makefiles to define compilers etc. # machine=linux # arch=LINUX # double=Compiled in double precision # parallel=parallel CXX = g++ CC = gcc FC = gfortran bCXX = g++ bCC = gcc bFC = gfortran LIB64 = lib64 OV_PARALLEL = parallel OV_AUTO_DOUBLE_FLAGS = -fdefault-real-8 -fdefault-double-8 OV_CXX_FLAGS = -fPIC OV_CC_FLAGS = -fPIC OV_FORTRAN_FLAGS = -fPIC OV_SHARED_LIB_FLAGS = -shared APlusPlus = /home/ghosh/Fusion/Overture/parallel/A++P++-0.8.0/P++/install PPlusPlus = /home/ghosh/Fusion/Overture/parallel/A++P++-0.8.0/P++/install OV_RPATH = -Wl,-rpath, OV_FORTRAN_LIBRARIES =-lgfortran OV_PERL_LIB = /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE OV_PERL_LIBRARIES =$(OV_RPATH)$(OV_PERL_LIB) -L$(OV_PERL_LIB) -lperl -lresolv -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc OV_OPENGL = /usr OV_OPENGL_LIB_DIR = $(OV_OPENGL)/lib64 OV_OPENGL_LIBRARIES = $(OV_RPATH)$(OV_OPENGL_LIB_DIR) -L$(OV_OPENGL_LIB_DIR) -lGL -lGLU -lGLw OV_MOTIF_LIB = /usr/lib64 OV_MOTIF_LIBRARIES = $(OV_RPATH)$(OV_MOTIF_LIB) -L$(OV_MOTIF_LIB) -lXm OV_XLIBS = /usr OV_XLIBS_LIB = $(OV_XLIBS)/lib64 OV_X_LIBRARIES = -L$(OV_XLIBS_LIB) -lXpm -lXp -lXt -lXmu -lXi -lXext -lX11 OV_COMPILER_LIBS = $(OV_RPATH)/soft/gcc/4.4.2/lib64 -L/soft/gcc/4.4.2/lib64 HDF = /home/ghosh/Fusion/Overture/parallel/hdf5-1.8.8 OV_HDF_LIBRARIES = $(OV_RPATH)$(HDF)/lib -L$(HDF)/lib -lhdf5 -ljpeg -lz OV_PARALLEL_INCLUDE = -I/soft/mvapich2/1.4-gcc-4.4.2-shared/include -DUSE_PPP APP_LIBRARIES = $(OV_RPATH)$(PPlusPlus)/lib -L$(PPlusPlus)/lib -lPpp -lPpp_static -Wl,-rpath,/soft/mvapich2/1.4-gcc-4.4.2-shared/lib -L/soft/mvapich2/1.4-gcc-4.4.2-shared/lib -L/var/tmp/pvfs-2.8.2/usr/lib -L/usr/lib64 -lmpich -lpthread -lrdmacm -libverbs -libumad -lpthread -lrdmacm -libverbs -libumad -lpvfs2 -lcrypto -lssl -lpthread -libverbs -lrt OVERTURE_LIBRARIES = $(OV_RPATH)$(Overture)/lib -L$(Overture)/lib -lOverture -lOverture_static ------------------------------------------------------------------ The source files are compiled till it hits the first file with MPI content and results in this error: g++ -DHAVE_CONFIG_H -I. -I/home/ghosh/Fusion/Overture/parallel/A++P++-0.8.0/P++/install/../src/array_src/../.. -I/home/ghosh/Fusion/Overture/parallel/A++P++-0.8.0/P++/install/../src/array_src/../../include -I/home/ghosh/Fusion/Overture/parallel/A++P++-0.8.0/P++/install/../src/array_src/../../PARTI -I/home/ghosh/Fusion/Overture/parallel/A++P++-0.8.0/P++/install/../src/array_src/../PARTI -I/include -I/home/ghosh/Fusion/Overture/parallel/A++P++-0.8.0/P++/install/../src/array_src/../../PADRE/src -I/home/ghosh/Fusion/Overture/parallel/A++P++-0.8.0/P++/install/../src/array_src/../../PADRE -I/home/ghosh/Fusion/Overture/parallel/A++P++-0.8.0/P++/install/../src/array_src/../../PARTI -I/home/ghosh/Fusion/Overture/parallel/A++P++-0.8.0/P++/install/../src/array_src/../../PARTI -I/home/ghosh/Fusion/Overture/parallel/A++P++-0.8.0/P++/install/../src/array_src/../../PADRE/PGSLIB -I/home/ghosh/Fusion/Overture/parallel/A++P++-0.8.0/P++/install/../src/array_src/../../PADRE/PGSLIB -I/home/ghosh/Fusion/Overture/parallel/A++P++-0.8.0/P++/install/../src/array_src/../../PGSLIB -I/home/ghosh/Fusion/Overture/parallel/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 In file included from /home/ghosh/Fusion/Overture/parallel/A++P++-0.8.0/P++/install/../src/array_src/../../PARTI/port.h:43, from /home/ghosh/Fusion/Overture/parallel/A++P++-0.8.0/P++/install/../src/array_src/../../PARTI/bsparti.h:271, from /home/ghosh/Fusion/Overture/parallel/A++P++-0.8.0/P++/install/../src/array_src/../../include/P++_headers.h:97, from /home/ghosh/Fusion/Overture/parallel/A++P++-0.8.0/P++/install/../src/array_src/../../include/P++.h:24, from /home/ghosh/Fusion/Overture/parallel/A++P++-0.8.0/P++/install/../src/array_src/../../include/A++.h:8045, from partitioning.C:11: /home/ghosh/Fusion/Overture/parallel/A++P++-0.8.0/P++/install/../src/array_src/../../PARTI/mpi-port.h:24: error: ‘MPI_Request’ has not been declared /home/ghosh/Fusion/Overture/parallel/A++P++-0.8.0/P++/install/../src/array_src/../../PARTI/mpi-port.h:25: error: ‘MPI_Request’ has not been declared /home/ghosh/Fusion/Overture/parallel/A++P++-0.8.0/P++/install/../src/array_src/../../PARTI/mpi-port.h:27: error: ‘MPI_Request’ has not been declared /home/ghosh/Fusion/Overture/parallel/A++P++-0.8.0/P++/install/../src/array_src/../../PARTI/mpi-port.h:28: error: ‘MPI_Request’ has not been declared /home/ghosh/Fusion/Overture/parallel/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/ghosh/Fusion/Overture/parallel/A++P++-0.8.0/P++/install/../src/array_src/../../PARTI/mpi-port.h:29: error: ‘gid’ was not declared in this scope /home/ghosh/Fusion/Overture/parallel/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/ghosh/Fusion/Overture/parallel/A++P++-0.8.0/P++/install/../src/array_src/../../PARTI/mpi-port.h:30: error: ‘gid’ was not declared in this scope In file included from /home/ghosh/Fusion/Overture/parallel/A++P++-0.8.0/P++/install/../src/array_src/../../PARTI/bsparti.h:271, from /home/ghosh/Fusion/Overture/parallel/A++P++-0.8.0/P++/install/../src/array_src/../../include/P++_headers.h:97, from /home/ghosh/Fusion/Overture/parallel/A++P++-0.8.0/P++/install/../src/array_src/../../include/P++.h:24, from /home/ghosh/Fusion/Overture/parallel/A++P++-0.8.0/P++/install/../src/array_src/../../include/A++.h:8045, from partitioning.C:11: /home/ghosh/Fusion/Overture/parallel/A++P++-0.8.0/P++/install/../src/array_src/../../PARTI/port.h:56: error: ‘MPI_Comm’ does not name a type In file included from /home/ghosh/Fusion/Overture/parallel/A++P++-0.8.0/P++/install/../src/array_src/../../include/P++_headers.h:106, from /home/ghosh/Fusion/Overture/parallel/A++P++-0.8.0/P++/install/../src/array_src/../../include/P++.h:24, from /home/ghosh/Fusion/Overture/parallel/A++P++-0.8.0/P++/install/../src/array_src/../../include/A++.h:8045, from partitioning.C:11: /home/ghosh/Fusion/Overture/parallel/A++P++-0.8.0/P++/install/../src/array_src/../../include/comm_man.h:46: error: ‘MPI_Group’ does not name a type /home/ghosh/Fusion/Overture/parallel/A++P++-0.8.0/P++/install/../src/array_src/../../include/comm_man.h:47: error: ‘MPI_Comm’ does not name a type /home/ghosh/Fusion/Overture/parallel/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/ghosh/Fusion/Overture/parallel/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 So what should I do so that I am able to use the MPI compilers *and* mpif90 gets the correct flags (-fdefault-real-8 -fdefault-double-8) to compile the Fortran sources? Thanks, Debo -- Debojyoti Ghosh ghosh@xxxxxxxxxxx http://www.mcs.anl.gov/~ghosh -- Debojyoti Ghosh ghosh@xxxxxxxxxxx http://www.mcs.anl.gov/~ghosh