Index | Thread | Search

From:
Theo Buehler <tb@theobuehler.org>
Subject:
Work around lapack build failure on sparc64 with gcc/15
To:
ports@openbsd.org
Date:
Mon, 10 Nov 2025 17:03:14 +0100

Download raw body.

Thread
While it would be nice to really fix FortranCInterface_VERIFY(), the
cmake macros here are one of the worst things I've seen in a long time
and decided this is just not worth my time.

If you go search for 'Verifying Fortran/C Interface' on exopi, you'll find
that lapack is the only package running this crap. It has no side effects
as far as I can tell, so let's skip it until someone who likes to roll in
cmake finds the time and motivation to track this down.

Index: patches/patch-CBLAS_CMakeLists_txt
===================================================================
RCS file: patches/patch-CBLAS_CMakeLists_txt
diff -N patches/patch-CBLAS_CMakeLists_txt
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-CBLAS_CMakeLists_txt	29 Oct 2025 22:17:58 -0000
@@ -0,0 +1,12 @@
+Index: CBLAS/CMakeLists.txt
+--- CBLAS/CMakeLists.txt.orig
++++ CBLAS/CMakeLists.txt
+@@ -10,7 +10,7 @@ if(CMAKE_Fortran_COMPILER)
+   enable_language(Fortran)
+   include(FortranCInterface)
+   ## Ensure that the fortran compiler and c compiler specified are compatible
+-  FortranCInterface_VERIFY()
++  #FortranCInterface_VERIFY()
+   FortranCInterface_HEADER(${LAPACK_BINARY_DIR}/include/cblas_mangling.h
+                           MACRO_NAMESPACE "F77_"
+                           SYMBOL_NAMESPACE "F77_")
Index: patches/patch-LAPACKE_include_CMakeLists_txt
===================================================================
RCS file: patches/patch-LAPACKE_include_CMakeLists_txt
diff -N patches/patch-LAPACKE_include_CMakeLists_txt
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-LAPACKE_include_CMakeLists_txt	29 Oct 2025 22:18:03 -0000
@@ -0,0 +1,12 @@
+Index: LAPACKE/include/CMakeLists.txt
+--- LAPACKE/include/CMakeLists.txt.orig
++++ LAPACKE/include/CMakeLists.txt
+@@ -14,7 +14,7 @@ if(CMAKE_Fortran_COMPILER AND CMAKE_C_COMPILER)
+   enable_language(C)
+   include(FortranCInterface)
+   ## Ensure that the fortran compiler and c compiler specified are compatible
+-  FortranCInterface_VERIFY()
++  #FortranCInterface_VERIFY()
+   FortranCInterface_HEADER(${LAPACK_BINARY_DIR}/include/lapacke_mangling.h
+     MACRO_NAMESPACE "LAPACK_"
+     SYMBOL_NAMESPACE "LAPACK_")