libMesh isn't finding the MPI that PETSc installed. Earlier this fact was a bit obscured (to me) by your use of --with-mpi=0, I think. In fact, it looks like libMesh isn't really finding the PETSc you built -- just the source tree. Giving the explicit PETSC_ARCH to libMesh's configure should do the trick. In your case it is PETSC_ARCH=arch-linux2-c-debug.
Dmitry On Oct 8, 2014 10:00 PM, "Kameeko Kiwi" <[email protected]> wrote: > I reinstalled PETSc with mpi, with the flag suggested. I get different > errors now when I try to compile Libmesh with: > > ./configure --prefix=/home/kameeko/software/libmesh_build3 > --enable-everything --enable-petsc --enable-mpi > PETSC_DIR=/home/kameeko/software/petsc > > the first of which is: > > In file included from > /home/kameeko/software/petsc/arch-linux2-c-debug/include/mpi.h:2175:0, > from ./contrib/parmetis/include/parmetis.h:17, > from src/partitioning/parmetis_partitioner.C:40: > /home/kameeko/software/petsc/arch-linux2-c-debug/include/mpicxx.h:2737:34: > error: declaration of C function 'void Parmetis::MPI::Init(int&, char**&)' > conflicts with > /home/kameeko/software/petsc/arch-linux2-c-debug/include/mpicxx.h:2736:13: > error: previous declaration 'void Parmetis::MPI::Init()' here > > I attached the new config logs and the end of the terminal output when I > run make for Libmesh... > > On Wed, Oct 8, 2014 at 9:47 PM, Dmitry Karpeyev <[email protected]> > wrote: > >> I should add that unless there is a good reason for using --with-mpi=0, >> simply replacing it with --download-mpich should fix this problem. >> >> Dmitry. >> >> On Wed, Oct 8, 2014 at 8:34 PM, Dmitry Karpeyev <[email protected]> >> wrote: >> >>> The problem seems stem from the fact that you are configuring PETSc >>> --with-mpi=0. >>> Is this what you want? >>> >>> This means no MPI is used by PETSc. libMesh detects that fact, and >>> configures itself without MPI. >>> However, ParMETIS (distributed with libMesh) doesn't seem to know this >>> and attempts to use the >>> mpiuni headers from PETSc, as if they were the real MPI headers (I'm not >>> sure exactly how ParMETIS >>> is configured in this case and how it locates the mpiuni mpi.h header). >>> In any event, the mpiuni mpi.h isn't >>> meant to be included by external libraries (e.g., ParMETIS) as an >>> "implementation" of MPI. >>> >>> Should mpiuni/mpi.h include petscsys.h so that PETSC_EXTERN is defined? >>> That's a side question for >>> PETSc, but I don't see how ParMETIS would work without a real MPI, so >>> your solution >>> may be to turn it off ParMETIS (switch to METIS?), if you want to >>> continue using --with-mpi=0. >>> >>> Dmitry. >>> >>> On Wed, Oct 8, 2014 at 7:57 PM, Kameeko Kiwi <[email protected]> wrote: >>> >>>> I attached the configure logs and terminal output. >>>> >>>> The error I gave was the first error. I didn't see any complaints about >>>> petscconf.h, so I'm guessing it was included successfully. The PETSc "make >>>> test" was successful. I don't believe I have multiple versions of PETSc on >>>> my path, since this was my first time installing it. >>>> >>>> On Wed, Oct 8, 2014 at 7:30 PM, Dmitry Karpeyev <[email protected]> >>>> wrote: >>>> >>>>> Can you send PETSc's configure.log and libMesh's config.log? Even >>>>> better if you could send the terminal output of your libMesh configure run >>>>> (redirected to something like lib me she configure.log). >>>>> >>>>> It looks like you are configuring PETSc or libMesh (or both) in a way >>>>> that no MPI is found and PETSc's internal "fake MPI" (aka mpiuni) is being >>>>> used. That could be causing problems for libMesh, at least the way you got >>>>> it configured. >>>>> >>>>> Dmitry. >>>>> On Oct 8, 2014 6:03 PM, "Kameeko Kiwi" <[email protected]> wrote: >>>>> >>>>>> Hello, >>>>>> >>>>>> I'm trying to compile Libmesh with the latest version of PETSc >>>>>> (3.5.2), >>>>>> using the following command: >>>>>> >>>>>> ./configure --prefix=/home/kameeko/software/libmesh_build3 >>>>>> --enable-everything --enable-petsc --disable-laspack >>>>>> PETSC_DIR=/home/kameeko/software/petsc >>>>>> >>>>>> Running make afterwards gives many errors, all similar to >>>>>> >>>>>> /home/kameeko/software/petsc/include/mpiuni/mpi.h:120:14: error: >>>>>> expected >>>>>> '=', ',', ';', 'asm' or '__attribute__' before 'void' >>>>>> >>>>>> Thanks. >>>>>> >>>>>> ------------------------------------------------------------------------------ >>>>>> Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer >>>>>> Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS >>>>>> Reports >>>>>> Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper >>>>>> Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer >>>>>> >>>>>> http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk >>>>>> _______________________________________________ >>>>>> Libmesh-users mailing list >>>>>> [email protected] >>>>>> https://lists.sourceforge.net/lists/listinfo/libmesh-users >>>>>> >>>>> >>>> >>> >> > ------------------------------------------------------------------------------ Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk _______________________________________________ Libmesh-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libmesh-users
