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

Reply via email to