[Trilinos-Users] [EXTERNAL] question about using ParMETIS with Trilinos

Devine, Karen D kddevin at sandia.gov
Fri May 18 12:43:52 MDT 2012


Alicia:  Have you resolved this problem?  I know the link line needs to
list libmetis.a AFTER libparmetis.a.  It is not clear from your email what
order is used by TRIBITS.  Try running CMAKE with
-D CMAKE_VERBOSE_MAKEFILE:BOOL=ON
Then check the link line for the unit test with the failing build.  If
libmetis.a is before libparmetis.a, there is a bug in TRIBITS that needs
to be fixed; we can report it to the appropriate person.
Karen




On 5/9/12 1:25 PM, "Alicia M Klinvex" <aklinvex at purdue.edu> wrote:

>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/libmeti
>s.a'
>-- LIBNAME_SET=' libparmetis.a'
>-- 
>_ParMETIS_libparmetis.a_LIBRARY='/u/slotnick_s2/aklinvex/ParMetis-3.0/libp
>armetis.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
>
>_______________________________________________
>Trilinos-Users mailing list
>Trilinos-Users at software.sandia.gov
>http://software.sandia.gov/mailman/listinfo/trilinos-users




More information about the Trilinos-Users mailing list