Author Topic: Metis linking problems  (Read 6339 times)

william.lnx

  • New Member
  • *
  • Posts: 8
Metis linking problems
« on: August 10, 2017, 01:21:13 PM »
Hello everyone,

I am trying to run parfeap (FEAP ver8.4) in a server. I have followed the installation instructions in the parallel manual. Once I made "make install" in the parfeap directory I get the following:

.../ver84/parfeap/unix/smetis.c:35: undefined reference to `METIS_SetDefaultOptions'
.../ver84/parfeap/unix/smetis.c:52: undefined reference to `METIS_PartGraphRecursive'
.../ver84/parfeap/unix/smetis.c:62: undefined reference to `METIS_PartGraphKway'

Any idea of what can be the problem?

Thank you in advance.



FEAP_Admin

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 993
Re: Metis linking problems
« Reply #1 on: August 10, 2017, 05:36:14 PM »
When you build PETSc you need add the metis and parmetis packages.  So when you run configure, make sure to include them:
Code: [Select]
./configure --download-{parmetis,metis}

william.lnx

  • New Member
  • *
  • Posts: 8
Re: Metis linking problems
« Reply #2 on: August 11, 2017, 01:06:02 PM »
Thank you for your answer,

This is the way I am running configure:

./configure --download-{spooles,superlu_dist,prometheus, mpich,ml,hypre,parmetis,metis,mumps,scalapack,blacs} --with-debugging=0

So I guess I am already adding the metis and parmetis packages.

Regards.
 

Prof. S. Govindjee

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 1160
Re: Metis linking problems
« Reply #3 on: August 11, 2017, 01:23:30 PM »
That looks fine, though note that prometheus no longer exists in PETSc it has been replace by a built-in GAMG algorithm, so you can/should remove it from your configure line.

When you perform make install in the parfeap folder you should see
Code: [Select]
-lparmetis -lmetisin the link line.  If not there is some problem with your PETSc build.  If they are there, then problem is more severe.  You may want to just delete your PETSc installation and re-do it to make sure that it is building in METIS.

Also check $PETSC_DIR/$PETSC_ARCH/lib/ for libmetis and libparmetis (those are the two libraries needed to resolve the unsatisfied external).