From: TCHOUANMO S. D. <ste...@ir...> - 2008-03-05 14:18:02
|
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. Now Im trying to run a basic example given in Libmesh like "ex3". When I lauch "make run", I get a warning and one error which are: ------------------------------------------------------------------------------------------------------- /home/tchouanm/libmesh-lma/contrib/tecplot/lib/i686-pc-linux-gnu/tecio.a(tecxxx.o)(.text+0x1a7): In function `tecini': : warning: the use of `mktemp' is dangerous, better use `mkstemp' /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 ------------------------------------------------------------------------------------------------------- It seems like there's something wrong in "libmesh.so" but I cant understand why. What's the cause of the "undefined reference..." ? Thank's a lot for your help. Regards, Stephane. -----Message d'origine----- De : John Peterson [mailto:pet...@cf...] Envoyé : jeudi 21 février 2008 17:20 À : TCHOUANMO Stephane DOCTORANT; lib...@li... Objet : nonlinear solver in libmesh library Hi, Yes, we have run the PETSc nonlinear solver before. Before we can help you, it seems you will need to ask a specific question, provide the exact error messages you are getting (translated to English where appropriate) and also tell us what you have tried doing to fix the problem so far. Also, I copied your email to the libmesh-users list. This is the best place to get answers (better than just asking 1 of the developers) and it automatically archives the discussions so they can potentially help out others later. -J TCHOUANMO Stephane DOCTORANT writes: > Hi John, > > Once again I'm coming back to you to have some infos on Libmesh. > Have you ever tried to run the non linear solver PETSC or any other > nonlinear solver in Libmesh? I know that the code is supposed to > work with PETSC's non linear solver and tried to make it run in > vain. So I was wondering if you had experienced it in the past so > you could help me out. I have errors basically on MPI in Libmesh > and I really don't understand what the deal with PETSC is. Do you > have any idea about running PETSC in the code? > > Thanks a lot. > > Stéphane > |
From: TCHOUANMO S. D. <ste...@ir...> - 2008-03-05 15:50:36
|
You're right, but in fact the files Make.common and libmesh_config didnt change before and after the re-run of configure. It seems though that I have to use the same compiler for petsc and libmesh. How do I know which of gcc or g++ is used for each of them, because the two compilers are possible for both in their Makefile. Thanks Stephane -----Message d'origine----- De : John Peterson [mailto:jwp...@gm...] Envoyé : mercredi 5 mars 2008 16:38 À : TCHOUANMO Stephane DOCTORANT Cc : lib...@li... Objet : Re: nonlinear solver in libmesh library On Wed, Mar 5, 2008 at 8:17 AM, TCHOUANMO Stephane DOCTORANT <ste...@ir...> wrote: > 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". OK, that is a problem: Once you re-run configure, you blow away any changes you might have made to Make.common or libmesh_config.h. Those 2 files are auto-generated during the configure process. -J Everything went well and the file "libmesh.so" got created. > Now Im trying to run a basic example given in Libmesh like "ex3". When I lauch "make run", I get a warning and one error which are: > ------------------------------------------------------------------------------------------------------- > /home/tchouanm/libmesh-lma/contrib/tecplot/lib/i686-pc-linux-gnu/tecio.a(tecxxx.o)(.text+0x1a7): In function `tecini': > : warning: the use of `mktemp' is dangerous, better use `mkstemp' > > /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 > ------------------------------------------------------------------------------------------------------- > > It seems like there's something wrong in "libmesh.so" but I cant understand why. What's the cause of the "undefined reference..." ? > > Thank's a lot for your help. > Regards, > > Stephane. > > > > -----Message d'origine----- > De : John Peterson [mailto:pet...@cf...] > Envoyé : jeudi 21 février 2008 17:20 > À : TCHOUANMO Stephane DOCTORANT; lib...@li... > Objet : nonlinear solver in libmesh library > > Hi, > > Yes, we have run the PETSc nonlinear solver before. Before we can > help you, it seems you will need to ask a specific question, provide > the exact error messages you are getting (translated to English where > appropriate) and also tell us what you have tried doing to fix the > problem so far. > > Also, I copied your email to the libmesh-users list. This is the best > place to get answers (better than just asking 1 of the developers) and > it automatically archives the discussions so they can potentially help > out others later. > > -J > > TCHOUANMO Stephane DOCTORANT writes: > > Hi John, > > > > Once again I'm coming back to you to have some infos on Libmesh. > > Have you ever tried to run the non linear solver PETSC or any other > > nonlinear solver in Libmesh? I know that the code is supposed to > > work with PETSC's non linear solver and tried to make it run in > > vain. So I was wondering if you had experienced it in the past so > > you could help me out. I have errors basically on MPI in Libmesh > > and I really don't understand what the deal with PETSC is. Do you > > have any idea about running PETSC in the code? > > > > Thanks a lot. > > > > Stéphane > > > |
From: Roy S. <roy...@ic...> - 2008-03-05 19:18:19
|
On Wed, 5 Mar 2008, TCHOUANMO Stephane DOCTORANT wrote: > You're right, but in fact the files Make.common and libmesh_config > didnt change before and after the re-run of configure. It seems > though that I have to use the same compiler for petsc and libmesh. > How do I know which of gcc or g++ is used for each of them, because > the two compilers are possible for both in their Makefile. By "same compiler" we don't mean "gcc or g++ but not both"; compatibility between C++ and C is pretty simple. No, the incompatibility here probably comes from different versions of the same compiler. If one object file was compiled with a g++ version that linked against one version of the standard C++ library, it might cause problems when a different g++ version tries to link the final library against a different version of the C++ library. From the error message, it sounds like this is what's happening to you. --- Roy |
From: TCHOUANMO S. D. <ste...@ir...> - 2008-03-11 12:56:53
|
Hi, you were right! I was not using the same compiler for libmesh and petsc. Thanks a lot for your help. By the way, in the context of my PhD, Im trying to use libmesh to solve a two-phase flow problem in porous media. Do you have any experience on such problems? Regards, Stephane. -----Message d'origine----- De : Benjamin Kirk [mailto:ben...@na...] Envoyé : mercredi 5 mars 2008 16:28 À : TCHOUANMO Stephane DOCTORANT Cc : lib...@li... Objet : Re: [Libmesh-users] nonlinear solver in libmesh library > 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 |
From: Roy S. <roy...@cf...> - 2008-03-11 22:27:15
|
On Tue, 11 Mar 2008, TCHOUANMO Stephane DOCTORANT wrote: > you were right! I was not using the same compiler for libmesh and petsc. > Thanks a lot for your help. Good to know what the problem was. > By the way, in the context of my PhD, Im trying to use libmesh to > solve a two-phase flow problem in porous media. Do you have any > experience on such problems? I don't think so. I've done phase separation problems, but miscible vs immiscible polymers aren't going to give you the same trouble that gas v liquid phase problems can. John's done double-diffusion in porous media, but IIRC just tracking heat and salinity for an entirely liquid phase problem. --- Roy |
From: John P. <jwp...@gm...> - 2008-03-11 22:54:07
|
On Tue, Mar 11, 2008 at 5:26 PM, Roy Stogner <roy...@cf...> wrote: > On Tue, 11 Mar 2008, TCHOUANMO Stephane DOCTORANT wrote: > > > you were right! I was not using the same compiler for libmesh and petsc. > > Thanks a lot for your help. > > Good to know what the problem was. > > > > By the way, in the context of my PhD, Im trying to use libmesh to > > solve a two-phase flow problem in porous media. Do you have any > > experience on such problems? > > I don't think so. I've done phase separation problems, but miscible > vs immiscible polymers aren't going to give you the same trouble that > gas v liquid phase problems can. John's done double-diffusion in > porous media, but IIRC just tracking heat and salinity for an entirely > liquid phase problem. That's right, I've done single-phase only. I've seen some multi-phase models and they usually just involve multiple species concentration equations... do you have a particular FE method you are going to implement. We might be able to glance at it and suggest what will be easy/difficult/impossible in libmesh. |
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 |
From: John P. <jwp...@gm...> - 2008-03-05 15:37:54
|
On Wed, Mar 5, 2008 at 8:17 AM, TCHOUANMO Stephane DOCTORANT <ste...@ir...> wrote: > 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". OK, that is a problem: Once you re-run configure, you blow away any changes you might have made to Make.common or libmesh_config.h. Those 2 files are auto-generated during the configure process. -J Everything went well and the file "libmesh.so" got created. > Now Im trying to run a basic example given in Libmesh like "ex3". When I lauch "make run", I get a warning and one error which are: > ------------------------------------------------------------------------------------------------------- > /home/tchouanm/libmesh-lma/contrib/tecplot/lib/i686-pc-linux-gnu/tecio.a(tecxxx.o)(.text+0x1a7): In function `tecini': > : warning: the use of `mktemp' is dangerous, better use `mkstemp' > > /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 > ------------------------------------------------------------------------------------------------------- > > It seems like there's something wrong in "libmesh.so" but I cant understand why. What's the cause of the "undefined reference..." ? > > Thank's a lot for your help. > Regards, > > Stephane. > > > > -----Message d'origine----- > De : John Peterson [mailto:pet...@cf...] > Envoyé : jeudi 21 février 2008 17:20 > À : TCHOUANMO Stephane DOCTORANT; lib...@li... > Objet : nonlinear solver in libmesh library > > Hi, > > Yes, we have run the PETSc nonlinear solver before. Before we can > help you, it seems you will need to ask a specific question, provide > the exact error messages you are getting (translated to English where > appropriate) and also tell us what you have tried doing to fix the > problem so far. > > Also, I copied your email to the libmesh-users list. This is the best > place to get answers (better than just asking 1 of the developers) and > it automatically archives the discussions so they can potentially help > out others later. > > -J > > TCHOUANMO Stephane DOCTORANT writes: > > Hi John, > > > > Once again I'm coming back to you to have some infos on Libmesh. > > Have you ever tried to run the non linear solver PETSC or any other > > nonlinear solver in Libmesh? I know that the code is supposed to > > work with PETSC's non linear solver and tried to make it run in > > vain. So I was wondering if you had experienced it in the past so > > you could help me out. I have errors basically on MPI in Libmesh > > and I really don't understand what the deal with PETSC is. Do you > > have any idea about running PETSC in the code? > > > > Thanks a lot. > > > > Stéphane > > > |