Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • T Trilinos
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 936
    • Issues 936
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 22
    • Merge requests 22
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • James Willenbring
  • Trilinos
  • Issues
  • #77

Closed
Open
Created Jan 11, 2016 by James Willenbring@jmwilleMaintainer

Amesos_Mumps.cpp does not build when MPI is disabled

Created by: bavier

Configuring with cmake 3.3.2 at master@e9a607a with

$ mkdir build && cd build
$ cmake \
    -DTrilinos_ENABLE_Amesos:BOOL=ON \
    -DTPL_ENABLE_MUMPS:BOOL=ON \
    ..

then running make produces the following error:

/ptmp/trilinos-12.6.1-rc/packages/amesos/src/Amesos_Mumps.cpp: In member function 'virtual int Amesos_Mumps::SymbolicFactorization()':
/ptmp/trilinos-12.6.1-rc/packages/amesos/src/Amesos_Mumps.cpp:478:9: error: 'Epetra_MpiComm' does not name a type
   const Epetra_MpiComm* MpiComm = dynamic_cast<const Epetra_MpiComm*>(&Comm());
         ^
In file included from /gnu/store/gma0ig9v61y7c1rhvaj7qx1ga86wnjs7-gfortran-4.9.3/include/c++/cassert:43:0,
                 from /ptmp/trilinos-12.6.1-rc/packages/teuchos/core/src/Teuchos_ConfigDefs.hpp:93,
                 from /ptmp/trilinos-12.6.1-rc/packages/teuchos/core/src/Teuchos_RCPNode.hpp:52,
                 from /ptmp/trilinos-12.6.1-rc/packages/teuchos/core/src/Teuchos_RCPDecl.hpp:51,
                 from /ptmp/trilinos-12.6.1-rc/packages/teuchos/core/src/Teuchos_RCP.hpp:58,
                 from /ptmp/trilinos-12.6.1-rc/packages/amesos/src/Amesos_BaseSolver.h:48,
                 from /ptmp/trilinos-12.6.1-rc/packages/amesos/src/Amesos_Mumps.h:44,
                 from /ptmp/trilinos-12.6.1-rc/packages/amesos/src/Amesos_Mumps.cpp:29:
/ptmp/trilinos-12.6.1-rc/packages/amesos/src/Amesos_Mumps.cpp:479:11: error: 'MpiComm' was not declared in this scope
   assert (MpiComm != 0);
           ^
/ptmp/trilinos-12.6.1-rc/packages/amesos/src/Amesos_Mumps.cpp:480:68: error: 'MPI_Comm_c2f' was not declared in this scope
   MDS.comm_fortran = (MUMPS_INT) MPI_Comm_c2f(MpiComm->GetMpiComm());
                                                                    ^

I would expect configuration to fail, rather than the build to fail, if Amesos_Mumps is not supported when MPI is disabled. On the other hand, MUMPS supports seriail execution, so perhaps it would be best to check for MUMPS's libmpiseq during configuration if TPL_ENABLE_MPI:BOOL=OFF and then adjust Amesos_Mumps accordingly.

Assignee
Assign to
Time tracking