Opened 3 years ago
Closed 2 years ago
#65088 closed defect (fixed)
mumps @5.3.1: undefined symbols
Reported by: | bosmacs (Craig Bosma) | Owned by: | MarcusCalhoun-Lopez (Marcus Calhoun-Lopez) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.7.2 |
Keywords: | monterey | Cc: | |
Port: | mumps |
Description
When building MUMPS (for PETSc), I get the following linker failure, which appears to be related to the scotch dependency:
:info:build Undefined symbols for architecture x86_64: :info:build "_scotchfgraphbuild_", referenced from: :info:build ___mumps_ana_ord_wrappers_MOD_mumps_scotch_kway_mixedto64 in ana_orderings_wrappers_m.o :info:build ___mumps_ana_ord_wrappers_MOD_mumps_scotch_kway_mixedto32 in ana_orderings_wrappers_m.o :info:build "_scotchfgraphexit_", referenced from: :info:build ___mumps_ana_ord_wrappers_MOD_mumps_scotch_kway_mixedto64 in ana_orderings_wrappers_m.o :info:build ___mumps_ana_ord_wrappers_MOD_mumps_scotch_kway_mixedto32 in ana_orderings_wrappers_m.o :info:build "_scotchfgraphpart_", referenced from: :info:build ___mumps_ana_ord_wrappers_MOD_mumps_scotch_kway_mixedto64 in ana_orderings_wrappers_m.o :info:build ___mumps_ana_ord_wrappers_MOD_mumps_scotch_kway_mixedto32 in ana_orderings_wrappers_m.o :info:build "_scotchfstratexit_", referenced from: :info:build ___mumps_ana_ord_wrappers_MOD_mumps_scotch_kway_mixedto64 in ana_orderings_wrappers_m.o :info:build ___mumps_ana_ord_wrappers_MOD_mumps_scotch_kway_mixedto32 in ana_orderings_wrappers_m.o :info:build "_scotchfstratinit_", referenced from: :info:build ___mumps_ana_ord_wrappers_MOD_mumps_scotch_kway_mixedto64 in ana_orderings_wrappers_m.o :info:build ___mumps_ana_ord_wrappers_MOD_mumps_scotch_kway_mixedto32 in ana_orderings_wrappers_m.o :info:build ld: symbol(s) not found for architecture x86_64
This happens on two separate systems, one an x86_64, the other M1/aarch64, both on Monterey.
In addition, the port is a bit out of date, as the current version of MUMPS is 5.5.
Change History (4)
comment:1 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)
Keywords: | monterey added |
---|---|
Owner: | set to MarcusCalhoun-Lopez |
Port: | mumps added |
Status: | new → assigned |
Summary: | MUMPS 5.3.1 fails to link on x86_61 and aarch64 → mumps @5.3.1: undefined symbols |
comment:2 Changed 3 years ago by bosmacs (Craig Bosma)
comment:3 Changed 3 years ago by bosmacs (Craig Bosma)
This is expected with SCOTCH 6.0 and greater, as the MUMPS FAQ states:
Furthermore, in the SCOTCH 6.0.x series, the PT-SCOTCH library does not include the SCOTCH library. Therefore, when using PT-SCOTCH, the SCOTCH library must also be provided during the link phase. A typical example of LSCOTCH definition in your Makefile.inc will then look like:
LSCOTCH = -L$(LSCOTCHDIR)/lib -lptesmumps -lptscotch -lptscotcherr -lscotch
I modified the MUMPS patch to Makefile.inc to include -lscotch
which allowed MUMPS to build and install successfully. Unfortunately PETSc with +mumps now fails to build, which was my goal from the beginning. It appears its configure checks for MUMPS link to the static version and do not include the dependency -lscotch
.
comment:4 Changed 2 years ago by catap (Kirill A. Korinsky)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
After further investigation, the missing symbols do appear in libscotch.dylib, but not libptscotch.dylib -- at least for the MP version of scotch.