Bug#1007830: opm-grid: METIS_PartGraphVKway is available in metis v3 but opm-grid tests link to metis v5
Drew Parsons
dparsons at debian.org
Thu Mar 17 13:16:25 GMT 2022
Source: opm-grid
Version: 2021.10-2
Severity: important
Control: block 1006648 by -1
scotch 7.0.1 has just been uploaded to unstable. It provides some metis (and
parmetis) compatibility which opm-grid is using.
The scotch metis compatibility version can be selected via metis.h
with define variable SCOTCH_METIS_VERSION. If not set then
SCOTCH_METIS_VERSION=5 is applied, i.e. metis v5.
>From scotch v7, compatibility libraries are provided for both metis v3
and v5 (libscotchmetisv3.so, libscotchmetisv5.so). For default metis
v5 is adopted, with libmetis.so linking to libscotchmetisv5.so
opm-grid has rebuilt fine with a binNMU against scotch 7.0.1.
debci tests however are failing:
-- Found PTScotch: /usr/lib/x86_64-linux-gnu/libscotch.so (found version "7.0.1")
-- Looking for METIS_PartGraphVKway
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
METIS_LIBRARY
The METIS_PartGraphVKway is in metis v3. The opm-grid test
configuration would therefore be occuring since scotch sets default
metis as v5.
The fix is probably simple though there may be more than one way to
do it. As far as I can see opm-grid (tests) would need
- building with -DSCOTCH_METIS_VERSION=3
- set METIS_LIBRARY to link to libscotchmetisv3.so
The latter would be processed through cmake via
/usr/share/opm/cmake/Modules/FindMETIS.cmake
It's not clear what opm-grid is actually doing with metis. metis is not
used explicitly in opm source code. Why does
/usr/share/opm/cmake/Modules/FindMETIS.cmake even exist?
Judging by /usr/share/opm/cmake/Modules/Finddune-fem.cmake it's got
something to do with dune, not opm as such. Why isn't opm using
/usr/lib/x86_64-linux-gnu/cmake/dune-grid to configure its dune usage?
More information about the debian-science-maintainers
mailing list