I'm using essentially an identical configuration. OpenMPI uses an ambitious set of shared libraries that defy typical PETSc snooping.
The easy answer is to use the compiler wrappers provided with OpenMPI: $ ./configure --with-cxx=mpicxx --with-cc=mpicc --with-f77=mpif77 ...and all the other options you had. -Ben On 11/7/07 6:01 PM, "Ondrej Certik" <[EMAIL PROTECTED]> wrote: > Hi, > > I am trying to compile libmesh 0.6.1 with petsc2.3.3 and openmpi. I do: > > $ PETSC_DIR=/usr/lib/petsc PETSC_ARCH=linux-gnu-c-opt ./configure > --prefix=/usr --disable-laspack --disable-slepc --disable-sfc > --disable-gzstreams --disable-tecplot --disable-metis > --disable-parmetis --disable-tetgen --disable-triangle > --with-f77=gfortran --with-mpi=/usr > --------------------------------------------- > ----------- Configuring libMesh ------------- > --------------------------------------------- > checking build system type... i686-pc-linux-gnu > checking host system type... i686-pc-linux-gnu > checking target system type... i686-pc-linux-gnu > checking for g++... g++ > checking for C++ compiler default output file name... a.out > checking whether the C++ compiler works... yes > checking whether we are cross compiling... no > checking for suffix of executables... > checking for suffix of object files... o > checking whether we are using the GNU C++ compiler... yes > checking whether g++ accepts -g... yes > checking for gcc... gcc > checking whether we are using the GNU C compiler... yes > checking whether gcc accepts -g... yes > checking for gcc option to accept ANSI C... none needed > <<< C++ compiler is gcc-4.2 >>> > checking how to run the C++ preprocessor... g++ -E > checking for egrep... grep -E > checking for ANSI C header files... yes > checking for sys/types.h... yes > checking for sys/stat.h... yes > checking for stdlib.h... yes > checking for string.h... yes > checking for memory.h... yes > checking for strings.h... yes > checking for inttypes.h... yes > checking for stdint.h... yes > checking for unistd.h... yes > checking for short int... yes > checking size of short int... 2 > checking for int... yes > checking size of int... 4 > checking for long int... yes > checking size of long int... 4 > checking for float... yes > checking size of float... 4 > checking for double... yes > checking size of double... 8 > checking for void *... yes > checking size of void *... 4 > checking getopt.h usability... yes > checking getopt.h presence... yes > checking for getopt.h... yes > checking csignal usability... yes > checking csignal presence... yes > checking for csignal... yes > checking whether the compiler implements namespaces... yes > checking whether the compiler has locale... yes > checking whether the compiler has stringstream... yes > checking hash_map usability... no > checking hash_map presence... no > checking for hash_map... no > checking ext/hash_map usability... yes > checking ext/hash_map presence... yes > checking for ext/hash_map... yes > checking hash_set usability... no > checking hash_set presence... no > checking for hash_set... no > checking ext/hash_set usability... yes > checking ext/hash_set presence... yes > checking for ext/hash_set... yes > checking dlfcn.h usability... yes > checking dlfcn.h presence... yes > checking for dlfcn.h... yes > checking whether the compiler supports GCC C++ ABI name demangling... yes > checking whether the c++ compiler supports glibc backtrace... yes > <<< Configuring library with AMR support >>> > <<< Configuring library with periodic BC support >>> > <<< Configuring library with higher order p-FEM shapes >>> > checking rpc/rpc.h usability... yes > checking rpc/rpc.h presence... yes > checking for rpc/rpc.h... yes > checking for xdrstdio_create... yes > <<< Configuring library with XDR support >>> > <<< Configuring library with real number support >>> > <<< Configuring library with reference counting support >>> > checking for ./contrib/netcdf/lib/i686-pc-linux-gnu/libnetcdf.a... no > checking for ./contrib/netcdf/include/netcdf.h... no > --------------------------------------------- > ----- Configuring for optional packages ----- > --------------------------------------------- > checking for /usr/lib/petsc/include/petsc.h... yes > checking whether we are using the GNU Fortran 77 compiler... yes > checking whether gfortran accepts -g... yes > checking how to get verbose linking output from gfortran... -v > checking for Fortran libraries of gfortran... > -L/usr/lib/gcc/i486-linux-gnu/4.2.3 > -L/usr/lib/gcc/i486-linux-gnu/4.2.3/../../../../lib -L/lib/../lib > -L/usr/lib/../lib -L/usr/lib/gcc/i486-linux-gnu/4.2.3/../../.. > -lgfortranbegin -lgfortran -lm -lgcc_s > <<< Configuring library with PETSc version 2.3.3 support >>> > checking for doxygen... no > <<< Configuring library with GMV support >>> > checking /usr/include/vtk/vtkCommonInstantiator.h usability... no > checking /usr/include/vtk/vtkCommonInstantiator.h presence... no > checking for /usr/include/vtk/vtkCommonInstantiator.h... no > VTK header files not found! > ---------------------------------------------- > --- Done configuring for optional packages --- > ---------------------------------------------- > checking for perl... /usr/bin/perl > configure: creating ./config.status > config.status: creating Make.common > config.status: creating doc/Doxyfile > config.status: creating contrib/bin/libmesh-config > config.status: creating contrib/bin/xda2mgf > config.status: creating contrib/bin/create_libmesh_release > config.status: creating doc/dot > config.status: creating include/base/libmesh_contrib_config.h > config.status: creating include/base/libmesh_config.h > --------------------------------------------- > --------- Done Configuring libMesh ---------- > --------------------------------------------- > > > > This seems to be allright. Then: > > $ make -j4 > [no errors] > $ examples/ex2/ > $ make > Compiling C++ (in optimized mode) ex2.C... > Linking ex2-opt... > ex2.i686-pc-linux-gnu.opt.o: In function `MPI::Op::Init(void (*)(void > const*, void*, int, MPI::Datatype const&), bool)': > ex2.C:(.text._ZN3MPI2Op4InitEPFvPKvPviRKNS_8DatatypeEEb[MPI::Op::Init(void > (*)(void const*, void*, int, MPI::Datatype const&), bool)]+0x27): > undefined reference to `ompi_mpi_cxx_op_intercept' > ex2.i686-pc-linux-gnu.opt.o: In function `MPI::Intracomm::Clone() const': > ex2.C:(.text._ZNK3MPI9Intracomm5CloneEv[MPI::Intracomm::Clone() > const]+0x44): undefined reference to `MPI::Comm::Comm()' > ex2.i686-pc-linux-gnu.opt.o: In function `MPI::Graphcomm::Clone() const': > ex2.C:(.text._ZNK3MPI9Graphcomm5CloneEv[MPI::Graphcomm::Clone() > const]+0x41): undefined reference to `MPI::Comm::Comm()' > ex2.i686-pc-linux-gnu.opt.o: In function > `MPI::Intracomm::Create_graph(int, int const*, int const*, bool) > const': > ex2.C:(.text._ZNK3MPI9Intracomm12Create_graphEiPKiS2_b[MPI::Intracomm::Create_ > graph(int, > int const*, int const*, bool) const]+0x53): undefined reference to > `MPI::Comm::Comm()' > ex2.i686-pc-linux-gnu.opt.o: In function > `MPI::Intracomm::Create_cart(int, int const*, bool const*, bool) > const': > ex2.C:(.text._ZNK3MPI9Intracomm11Create_cartEiPKiPKbb[MPI::Intracomm::Create_c > art(int, > int const*, bool const*, bool) const]+0x159): undefined reference to > `MPI::Comm::Comm()' > ex2.i686-pc-linux-gnu.opt.o: In function `MPI::Cartcomm::Clone() const': > ex2.C:(.text._ZNK3MPI8Cartcomm5CloneEv[MPI::Cartcomm::Clone() > const]+0x41): undefined reference to `MPI::Comm::Comm()' > ex2.i686-pc-linux-gnu.opt.o:ex2.C:(.text._ZN3MPI8Cartcomm3SubEPKb[MPI::Cartcom > m::Sub(bool > const*)]+0x8a): more undefined references to `MPI::Comm::Comm()' > follow > ex2.i686-pc-linux-gnu.opt.o:(.data.rel.ro._ZTVN3MPI3WinE[vtable for > MPI::Win]+0x14): undefined reference to > `MPI::Win::Set_errhandler(MPI::Errhandler const&)' > ex2.i686-pc-linux-gnu.opt.o:(.data.rel.ro._ZTVN3MPI3WinE[vtable for > MPI::Win]+0x24): undefined reference to `MPI::Win::Free()' > ex2.i686-pc-linux-gnu.opt.o:(.data.rel.ro._ZTVN3MPI9IntercommE[vtable > for MPI::Intercomm]+0xd4): undefined reference to > `MPI::Comm::Set_errhandler(MPI::Errhandler const&)' > ex2.i686-pc-linux-gnu.opt.o:(.data.rel.ro._ZTVN3MPI9GraphcommE[vtable > for MPI::Graphcomm]+0xd4): undefined reference to > `MPI::Comm::Set_errhandler(MPI::Errhandler const&)' > ex2.i686-pc-linux-gnu.opt.o:(.data.rel.ro._ZTVN3MPI8CartcommE[vtable > for MPI::Cartcomm]+0xd4): undefined reference to > `MPI::Comm::Set_errhandler(MPI::Errhandler const&)' > ex2.i686-pc-linux-gnu.opt.o:(.data.rel.ro._ZTVN3MPI9IntracommE[vtable > for MPI::Intracomm]+0xd4): undefined reference to > `MPI::Comm::Set_errhandler(MPI::Errhandler const&)' > ex2.i686-pc-linux-gnu.opt.o:(.data.rel.ro._ZTVN3MPI4CommE[vtable for > MPI::Comm]+0xd4): undefined reference to > `MPI::Comm::Set_errhandler(MPI::Errhandler const&)' > ex2.i686-pc-linux-gnu.opt.o:(.data.rel.ro._ZTVN3MPI8DatatypeE[vtable > for MPI::Datatype]+0x3c): undefined reference to > `MPI::Datatype::Free()' > collect2: ld returned 1 exit status > make: *** [ex2-opt] Error 1 > > > Any ideas what could be wrong? > > Ondrej > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. > Still grepping through log files to find problems? Stop. > Now Search log events and configuration files using AJAX and a browser. > Download your FREE copy of Splunk now >> http://get.splunk.com/ > _______________________________________________ > Libmesh-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/libmesh-devel ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Libmesh-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libmesh-devel
