add a '+no_warning' variant to METIS to prevent pervasive warning (#47452)

* add a '+no_warning' variant to metis to prevent prevasive warning
* fix formating

---------

Co-authored-by: Cleveland <cleveland@lanl.gov>
Co-authored-by: mcourtois <mathieu.courtois@gmail.com>
This commit is contained in:
Mathew Cleveland 2024-12-03 18:02:36 -07:00 committed by GitHub
parent 8898e14e69
commit b0b9cf15f7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 21 additions and 0 deletions

View File

@ -77,6 +77,7 @@ class Draco(CMakePackage):
depends_on("lapack", when="+lapack")
depends_on("libquo@1.3.1:", when="@7.4.0:+libquo")
depends_on("metis", when="+parmetis")
depends_on("metis@5:+no_warning", when="@7.19:+parmetis")
depends_on("parmetis", when="+parmetis")
depends_on("qt", when="+qt", type=("build", "link", "run"))
depends_on("superlu-dist@:5", when="@:7.6+superlu_dist")

View File

@ -0,0 +1,13 @@
diff --git a/libmetis/pmetis.c b/libmetis/pmetis.c
index 9174aa3..f8ced79 100644
--- a/libmetis/pmetis.c
+++ b/libmetis/pmetis.c
@@ -163,8 +163,6 @@ idx_t MlevelRecursiveBisection(ctrl_t *ctrl, graph_t *graph, idx_t nparts,
real_t wsum, *tpwgts2;
if ((nvtxs = graph->nvtxs) == 0) {
- printf("\t***Cannot bisect a graph with 0 vertices!\n"
- "\t***You are trying to partition a graph into too many parts!\n");
return 0;
}

View File

@ -34,6 +34,13 @@ class Metis(CMakePackage, MakefilePackage):
depends_on("c", type="build")
depends_on("cxx", type="build")
variant(
"no_warning",
default=False,
description="Disable failed partition warning print on all ranks",
)
patch("no_warning.patch", when="@5:+no_warning")
build_system(
conditional("cmake", when="@5:"), conditional("makefile", when="@:4"), default="cmake"
)