dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #09766
Re: Compiling with ParMETIS
On Friday 19 September 2008 16:28:21 Johannes Ring wrote:
> On Fri, September 19, 2008 10:44, Johannes Ring wrote:
> > On Fri, September 19, 2008 10:28, Garth N. Wells wrote:
> >> Johannes Ring wrote:
> >>> On Fri, September 19, 2008 10:19, Niclas Jansson wrote:
> >>>> Johannes Ring wrote:
> >>>>> On Thu, September 18, 2008 19:43, Anders Logg wrote:
> >>>>>> On Thu, Sep 18, 2008 at 06:52:30PM +0200, Johannes Ring wrote:
> >>>>>>> On Thu, September 18, 2008 18:35, Anders Logg wrote:
> >>>>>>>> We need to add a test/pkgconfig-generator for ParMETIS.
> >>>>>>>>
> >>>>>>>> I can build the test program in sandbox/passembly but I need to
> >>>>>>>> add
> >>>>>>>>
> >>>>>>>> customCxxFlags=-DHAS_PARMETIS=1
> >>>>>>>>
> >>>>>>>> to scons when building DOLFIN and then manually add
> >>>>>>>>
> >>>>>>>> -lparmetis -lmetis
> >>>>>>>>
> >>>>>>>> when linking the demo.
> >>>>>>>>
> >>>>>>>> Can someone who knows the build system better add this?
> >>>>>>>
> >>>>>>> I can do that.
> >>>>>>
> >>>>>> Thanks.
> >>>>>>
> >>>>>>> Do you use the libparmetis-dev package that comes with
> >>>>>>> Ubuntu or do you build ParMETIS yourself?
> >>>>>>
> >>>>>> I use the Ubuntu package.
> >>>>>
> >>>>> I have the pkg-config generator for ParMETIS ready but building
> >>>>> DOLFIN
> >>>>> fails with the following error message:
> >>>>>
> >>>>> mpic++ -o dolfin/mesh/MeshPartition.os -c -Wall -pipe -ansi -DDEBUG
> >>>>> -g
> >>>>> -Werror -DNDEBUG -O2 -DHAS_MPI=1 -DMPICH_IGNORE_CXX_SEEK
> >>>>> -DPACKAGE_VERSION=\"0.8.0\" -DHAS_PETSC=1 -DHAS_SLEPC=1
> >>>>> -DHAS_SCOTCH=1
> >>>>> -DHAS_UMFPACK=1 -DHAS_GTS=1 -DHAS_TRILINOS=1 -DHAS_CHOLMOD=1
> >>>>> -DHAS_MTL4=1
> >>>>> -DHAS_PARMETIS=1 -fPIC -I. -I/usr/local/include
> >>>>> -I/usr/include/libxml2
> >>>>> -I/usr/lib/petsc/bmake/linux-gnu-c-opt -I/usr/lib/petsc/include
> >>>>> -I/usr/lib/openmpi/include -I/usr/lib/openmpi/lib -Idolfin
> >>>>> -I/home/johannr/src/slepc-2.3.3
> >>>>> -I/home/johannr/src/slepc-2.3.3/include
> >>>>> -I/usr/lib/petsc/bmake/linux-gnu-c-opt -I/usr/lib/petsc/include
> >>>>> -I/usr/lib/openmpi/include -I/usr/lib/openmpi/lib -Idolfin
> >>>>> -I/home/johannr/src/scotch_5.0/bin -I/usr/include/suitesparse
> >>>>> -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
> >>>>> -I/home/johannr/src/trilinos-8.0.3/local/include
> >>>>> -I/usr/include/suitesparse -I/home/johannr/src/svn/mtl4
> >>>>> dolfin/mesh/MeshPartition.cpp
> >>>>> dolfin/mesh/MeshPartition.cpp: In static member function ?static void
> >>>>> dolfin::MeshPartition::partitionGeom(dolfin::Mesh&,
> >>>>> dolfin::MeshFunction<unsigned int>&)?:
> >>>>> dolfin/mesh/MeshPartition.cpp:102: error: ?idxtype? was not declared
> >>>>> in
> >>>>> this scope
> >>>>> dolfin/mesh/MeshPartition.cpp:102: error: ?vtxdist? was not declared
> >>>>> in
> >>>>> this scope
> >>>>> dolfin/mesh/MeshPartition.cpp:102: error: expected type-specifier
> >>>>> before
> >>>>> ?idxtype?
> >>>>> dolfin/mesh/MeshPartition.cpp:102: error: expected `;' before
> >>>>> ?idxtype?
> >>>>> dolfin/mesh/MeshPartition.cpp:103: error: expected type-specifier
> >>>>> before
> >>>>> ?idxtype?
> >>>>> dolfin/mesh/MeshPartition.cpp:103: error: expected `>' before
> >>>>> ?idxtype?
> >>>>> dolfin/mesh/MeshPartition.cpp:103: error: expected `(' before
> >>>>> ?idxtype?
> >>>>> dolfin/mesh/MeshPartition.cpp:103: error: expected `)' before ?;?
> >>>>> token
> >>>>> dolfin/mesh/MeshPartition.cpp:117: error: expected `;' before ?gdim?
> >>>>> dolfin/mesh/MeshPartition.cpp:118: error: ?part? was not declared in
> >>>>> this
> >>>>> scope
> >>>>> dolfin/mesh/MeshPartition.cpp:118: error: expected type-specifier
> >>>>> before
> >>>>> ?idxtype?
> >>>>> dolfin/mesh/MeshPartition.cpp:118: error: expected `;' before
> >>>>> ?idxtype?
> >>>>> dolfin/mesh/MeshPartition.cpp:119: error: ?gdim? was not declared in
> >>>>> this
> >>>>> scope
> >>>>> dolfin/mesh/MeshPartition.cpp:134: error: ?ParMETIS_V3_PartGeom? was
> >>>>> not
> >>>>> declared in this scope
> >>>>> dolfin/mesh/MeshPartition.cpp:143: error: type ?<type error>?
> >>>>> argument
> >>>>> given to ?delete?, expected pointer
> >>>>> dolfin/mesh/MeshPartition.cpp:144: error: type ?<type error>?
> >>>>> argument
> >>>>> given to ?delete?, expected pointer
> >>>>> scons: *** [dolfin/mesh/MeshPartition.os] Error 1
> >>>>> scons: building terminated because of errors.
> >>>>>
> >>>>> Any ideas?
> >>>>>
> >>>>> Johannes
> >>>>
> >>>> Seams like it doesn't find parmetis.h
> >>>
> >>> Yes, it seems so, but parmetis.h is located under /usr/include so it
> >>> can't
> >>> be missed. And it doesn't fail on this part of MeshPartition.cpp:
> >>>
> >>> #ifdef HAS_PARMETIS
> >>> #include <parmetis.h>
> >>> #endif
> >>
> >> Should it be
> >>
> >> extern "C"
> >> {
> >> #ifdef HAS_PARMETIS
> >> #include <parmetis.h>
> >> #endif
> >> }
> >> ?
> >
> > I tried it but it gave me the same error message.
>
> It seems to be a problem with SCOTCH. DOLFIN builds fine when I disable
> SCOTCH.
I have scotch 5.1 and it works fine here.
Johan
Follow ups
References