Date: Sun, 19 Jan 2025 18:33:11 GMT From: Dimitry Andric <dim@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Subject: git: 6e2222799ebf - main - math/linbox: fix build with clang 19 Message-ID: <202501191833.50JIXBBe065273@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/ports/commit/?id=6e2222799ebf6ff0a12bed3798fc0cc0e71e1e55 commit 6e2222799ebf6ff0a12bed3798fc0cc0e71e1e55 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2025-01-19 18:31:50 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2025-01-19 18:31:50 +0000 math/linbox: fix build with clang 19 Clang 19 has become more strict about errors in member functions, which results in errors building math/linbox: ../../linbox/vector/blas-subvector.h:121:20: error: no member named 'data' in 'BlasSubvector<_Vector>' 121 | _ptr(V.data()+beg), _size(dim), _inc(inc), _field(&V.field()) {} | ~ ^ ../../linbox/matrix/sparsematrix/sparse-ell-matrix.h:1216:16: error: cannot assign to non-static data member '_ld' with const-qualified type 'const size_t &' (aka 'const unsigned long &') 1216 | _ld = iter._ld ; | ~~~ ^ ../../linbox/matrix/sparsematrix/sparse-ellr-matrix.h:1108:12: error: no viable overloaded '=' 1108 | _rowid = iter._rowid; | ~~~~~~ ^ ~~~~~~~~~~~ In all these cases, the methods where the errors occur are not actually used, so until upstream sorts out their incorrect code, stub them out using #if 0/#endif pairs. PR: 284159 Approved by: thierry (maintainer) MFH: 2025Q1 --- math/linbox/Makefile | 9 +----- ...-linbox_matrix_sparsematrix_sparse-ell-matrix.h | 18 ++++++++++++ ...linbox_matrix_sparsematrix_sparse-ellr-matrix.h | 34 ++++++++++++++++++++++ .../files/patch-linbox_vector_blas-subvector.h | 13 +++++++++ 4 files changed, 66 insertions(+), 8 deletions(-) diff --git a/math/linbox/Makefile b/math/linbox/Makefile index f79cc74daa92..e47c8c2df1aa 100644 --- a/math/linbox/Makefile +++ b/math/linbox/Makefile @@ -68,11 +68,4 @@ CONFIGURE_ARGS+=--disable-sse --disable-sse2 --disable-sse3 --disable-ssse3 \ --disable-avx --disable-avx2 .endif -.include <bsd.port.pre.mk> - -.if ${COMPILER_TYPE} == clang && ${COMPILER_VERSION} >= 180 -# See https://github.com/linbox-team/linbox/issues/320 -BROKEN= compilation errors with clang19 -.endif - -.include <bsd.port.post.mk> +.include <bsd.port.mk> diff --git a/math/linbox/files/patch-linbox_matrix_sparsematrix_sparse-ell-matrix.h b/math/linbox/files/patch-linbox_matrix_sparsematrix_sparse-ell-matrix.h new file mode 100644 index 000000000000..efde096e0e7e --- /dev/null +++ b/math/linbox/files/patch-linbox_matrix_sparsematrix_sparse-ell-matrix.h @@ -0,0 +1,18 @@ +--- linbox/matrix/sparsematrix/sparse-ell-matrix.h.orig 2021-12-14 10:16:03 UTC ++++ linbox/matrix/sparsematrix/sparse-ell-matrix.h +@@ -1205,6 +1205,7 @@ namespace LinBox + , _row(iter._row) + {} + ++#if 0 + _IndexedIterator &operator = (const _IndexedIterator &iter) + { + _colid_beg = iter._colid_beg ; +@@ -1218,6 +1219,7 @@ namespace LinBox + + return *this; + } ++#endif + + bool operator == (const _IndexedIterator &i) const + { diff --git a/math/linbox/files/patch-linbox_matrix_sparsematrix_sparse-ellr-matrix.h b/math/linbox/files/patch-linbox_matrix_sparsematrix_sparse-ellr-matrix.h new file mode 100644 index 000000000000..bd8b3eaf95c8 --- /dev/null +++ b/math/linbox/files/patch-linbox_matrix_sparsematrix_sparse-ellr-matrix.h @@ -0,0 +1,34 @@ +--- linbox/matrix/sparsematrix/sparse-ellr-matrix.h.orig 2021-12-14 10:16:03 UTC ++++ linbox/matrix/sparsematrix/sparse-ellr-matrix.h +@@ -1099,6 +1099,7 @@ namespace LinBox + + {} + ++#if 0 + _Iterator &operator = (const _Iterator &iter) + { + _data_it = iter._data_it ; +@@ -1111,6 +1112,7 @@ namespace LinBox + + return *this; + } ++#endif + + bool operator == (const _Iterator &i) const + { +@@ -1246,6 +1248,7 @@ namespace LinBox + , _row(iter._row) + {} + ++#if 0 + _IndexedIterator &operator = (const _IndexedIterator &iter) + { + _rowid_it = iter._rowid_it ; +@@ -1260,6 +1263,7 @@ namespace LinBox + + return *this; + } ++#endif + + bool operator == (const _IndexedIterator &i) const + { diff --git a/math/linbox/files/patch-linbox_vector_blas-subvector.h b/math/linbox/files/patch-linbox_vector_blas-subvector.h new file mode 100644 index 000000000000..00c6e129b8aa --- /dev/null +++ b/math/linbox/files/patch-linbox_vector_blas-subvector.h @@ -0,0 +1,13 @@ +--- linbox/vector/blas-subvector.h.orig 2021-12-14 10:16:03 UTC ++++ linbox/vector/blas-subvector.h +@@ -117,8 +117,10 @@ namespace LinBox { + * \param dim dimension + * \param inc distance between two element + */ ++#if 0 + BlasSubvector (Self_t &V, size_t beg, size_t inc, size_t dim) : + _ptr(V.data()+beg), _size(dim), _inc(inc), _field(&V.field()) {} ++#endif + + + /** Constructor from an existing @ref BlasVector
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202501191833.50JIXBBe065273>