[Trilinos-Users] question about using ParMETIS with Trilinos

Alicia M Klinvex aklinvex at purdue.edu
Wed May 9 13:25:03 MDT 2012


Hello,

I'm having a bit of trouble, and I was hoping you could help me.  I want to solve a generalized eigenvalue problem using block Krylov-Schur, which requires a linear solver in Amesos.  I would like to use a distributed memory solver such as Amesos_Superludist or Amesos_Mumps, both of which depend on ParMETIS.  I installed and tested ParMETIS, which has been working fine on its own.  In my configure script, I turned on ParMETIS and set the paths, and when I run the script, Trilinos seems to find everything necessary:

TRIBITS_TPL_DECLARE_LIBRARIES: ParMETIS
-- PARSE_REQUIRED_HEADERS='parmetis.h'
-- PARSE_REQUIRED_LIBS_NAMES='parmetis;metis'
-- TPL_ParMETIS_INCLUDE_DIRS=''
-- TPL_ParMETIS_LIBRARIES=''
-- ParMETIS_LIBRARY_DIRS='/u/slotnick_s2/aklinvex/ParMetis-3.0'
-- ParMETIS_LIBRARY_NAMES='libmetis.a; libparmetis.a'
-- PARSE_REQUIRED_LIBS_NAMES='libmetis.a; libparmetis.a'
-- ParMETIS_LIBRARY_DIRS='/u/slotnick_s2/aklinvex/ParMetis-3.0'
-- ParMETIS_INCLUDE_DIRS='/u/slotnick_s2/aklinvex/ParMetis-3.0'
-- PARSE_REQUIRED_HEADERS='parmetis.h'
-- LIBNAME_SET='libmetis.a'
-- _ParMETIS_libmetis.a_LIBRARY='/u/slotnick_s2/aklinvex/ParMetis-3.0/libmetis.a'
-- LIBNAME_SET=' libparmetis.a'
-- _ParMETIS_libparmetis.a_LIBRARY='/u/slotnick_s2/aklinvex/ParMetis-3.0/libparmetis.a'
-- INCLUDE_FILE='parmetis.h'
-- _ParMETIS_parmetis.h_PATH='/u/slotnick_s2/aklinvex/ParMetis-3.0'
-- TPL_ParMETIS_LIBRARY_DIRS=''

However, when I type "make", I get many errors of the following form:

[ 60%] Built target ThyraEpetraExtAdapters_EpetraExtDiagScalingTransformer_UnitTests
/u/slotnick_s2/aklinvex/ParMetis-3.0/libparmetis.a(initpart.o): In function `Moc_InitPartition_RB__':
initpart.c:(.text+0x840): undefined reference to `METIS_mCPartGraphRecursive2'
initpart.c:(.text+0x12f5): undefined reference to `METIS_mCPartGraphRecursive2'
initpart.c:(.text+0x17da): undefined reference to `METIS_WPartGraphKway2'
initpart.c:(.text+0x1887): undefined reference to `METIS_WPartGraphKway2'
/u/slotnick_s2/aklinvex/ParMetis-3.0/libparmetis.a(initbalance.o): In function `Balance_Partition__':
initbalance.c:(.text+0x1184): undefined reference to `METIS_mCPartGraphRecursive2'
initbalance.c:(.text+0x1381): undefined reference to `METIS_mCPartGraphRecursive2'
initbalance.c:(.text+0x1a55): undefined reference to `METIS_WPartGraphKway2'
initbalance.c:(.text+0x1afb): undefined reference to `METIS_WPartGraphKway2'
/u/slotnick_s2/aklinvex/ParMetis-3.0/libparmetis.a(initmsection.o): In function `InitMultisection__':
initmsection.c:(.text+0xbd9): undefined reference to `METIS_EdgeComputeSeparator'
initmsection.c:(.text+0xc3c): undefined reference to `METIS_NodeComputeSeparator'

Trilinos seems to forget where METIS is.  I have tried it with ParMETIS 3.0 and 4.0.2, both of which behave the same way.  Do you know what could be causing this problem?

Thank you,
Alicia Klinvex
aklinvex at purdue.edu



More information about the Trilinos-Users mailing list