From: Benjamin K. <ben...@na...> - 2008-03-05 15:28:43
|
> Hi, > > Im back again with the petsc non linear solver in Libmesh. I'm trying to make > it run under a Red Hat WS 4. > First I installed one of the last different versions of Petsc (2.3.3, 2.3.2 > and 2.3.1) in the Libmesh directory and it worked. After that, I changed the > "Make.common" in Libmesh to enable the option package Petsc, giving infos > about the version, minor-major, petsc-arch and petsc-dir. Then I got into > "libmesh.config" to define petsc as a solver to be used by setting: "#define > HAVE_PETSC 1". Finally I configured Libmesh and compiled it with the > sequences: "./configure" and "make". Everything went well and the file > "libmesh.so" got created. You are working way too hard there. Make sure that you set the environment variable PETSC_DIR and PETSC_ARCH. These are mine: $ echo $PETSC_DIR /usr/local/petsc/2.3.3 $ echo $PETSC_ARCH macx PETSC_DIR is the source tree for petsc, and look in $PETSC_DIR/lib/ to see what PETSC_ARCH you have. Then run $ ./configure And see if libmesh detects your petsc install. You should not edit Make.common or libmesh_config.h, they get written by configure. > /home/tchouanm/libmesh-lma/lib/i686-pc-linux-gnu_opt/libmesh.so: undefined > reference to `std::basic_istream<char, std::char_traits<char> > >::ignore()@GLIBCXX_3.4.5' > collect2: ld returned 1 exit status > make: *** [ex3] Erreur 1 > This means part of the gcc standard c++ library is not getting properly linked. Are you using the same compilers with libmesh that you used for petsc? -Ben |