[med-svn] [Git][med-team/arb][master] 7 commits: Build RNACMA against system libeigen3 instead of bundled Eigen Closes: #1120614
Andreas Tille (@tille)
gitlab at salsa.debian.org
Fri Oct 23 10:18:06 BST 2026
Andreas Tille pushed to branch master at Debian Med / arb
Commits:
d657a1b0 by Andreas Tille at 2026-10-23T10:58:56+02:00
Build RNACMA against system libeigen3 instead of bundled Eigen Closes: #1120614
- - - - -
5fd1c461 by Andreas Tille at 2026-10-23T11:02:22+02:00
Remove code copy of eigen from upstream source
- - - - -
9922884a by Andreas Tille at 2026-10-23T11:02:35+02:00
New upstream version 7.0+ds
- - - - -
0f02860b by Andreas Tille at 2026-10-23T11:02:53+02:00
Update upstream source from tag 'upstream/7.0+ds'
Update to upstream version '7.0+ds'
with Debian dir d9da1ce4708a1902e562af37721b23cd68c23973
- - - - -
1e54c96d by Andreas Tille at 2026-10-23T11:03:39+02:00
Close FTBFS bug
- - - - -
0899a6cf by Andreas Tille at 2026-10-23T11:15:45+02:00
Remove unused lintian-overrides
- - - - -
5ac179e3 by Andreas Tille at 2026-10-23T11:17:07+02:00
Verify that another FTBFS bug can be closed
- - - - -
13 changed files:
- − HEADERLIBS/Makefile
- − HEADERLIBS/README
- − HEADERLIBS/eigen.COPYING
- − HEADERLIBS/eigen.extract.sh
- − HEADERLIBS/eigen.tgz
- − HEADERLIBS/eigen_fix_gcc_610_compile.patch
- − debian/arb-doc.lintian-overrides
- debian/changelog
- debian/control
- debian/copyright
- + debian/patches/145_use_system_libeigen.patch
- debian/patches/series
- debian/watch
Changes:
=====================================
HEADERLIBS/Makefile deleted
=====================================
@@ -1,19 +0,0 @@
-
-all: eigen
-
-clean:
- rm -rf eigen/
-
-EIGEN_PATCH=eigen_fix_gcc_610_compile.patch
-
-# For some weird reason tar command below sometimes generates files with wrong ownership (happened in a virtual machine).
-# If so, the following patch command fails.
-# Workaround: patch again after 10 seconds (and once more after 30 seconds)
-
-eigen: eigen.tgz $(EIGEN_PATCH) Makefile
- tar --no-same-owner -zxf $<
- patch -p0 < $(EIGEN_PATCH) || \
- ( sleep 10 ; patch -p0 < $(EIGEN_PATCH) || \
- ( sleep 30 ; patch -p0 < $(EIGEN_PATCH) ) )
- touch eigen/
-
=====================================
HEADERLIBS/README deleted
=====================================
@@ -1,5 +0,0 @@
-This directory contains headerlibs delivered together with ARB-source.
-The code here is not delivered under the ARB license, but under the
-license specified for each headerlib.
-
-
=====================================
HEADERLIBS/eigen.COPYING deleted
=====================================
@@ -1,15 +0,0 @@
-
-eigen.tgz is an unmodified excerpt of eigen-2.0.16
-containing only those files needed by RNACMA
-
-For original license information run
- make all
-in this directory and then have a look at
- eigen/COPYING
- eigen/COPYING.LESSER
-
-The original library can be downloaded from
-http://eigen.tuxfamily.org/
-
-eigen is distributed according to LGPL 3
-
=====================================
HEADERLIBS/eigen.extract.sh deleted
=====================================
@@ -1,145 +0,0 @@
-#!/bin/bash
-#
-# extracts those parts of eigen-2.0.16 needed by RNACMA
-# (in order to reduce size 3.8M -> 1.5M)
-
-SOURCE=./eigen-eigen-2.0.16
-DEST=./eigen
-
-eigencp() {
- cp -pr $SOURCE/$1 $DEST/$1 || exit
-}
-
-mkdir -p $DEST/Eigen
-mkdir -p $DEST/Eigen/src
-mkdir -p $DEST/Eigen/src/Array
-mkdir -p $DEST/Eigen/src/Cholesky
-mkdir -p $DEST/Eigen/src/Core
-mkdir -p $DEST/Eigen/src/Core/util
-mkdir -p $DEST/Eigen/src/Geometry
-mkdir -p $DEST/Eigen/src/LU
-mkdir -p $DEST/Eigen/src/LeastSquares
-mkdir -p $DEST/Eigen/src/QR
-mkdir -p $DEST/Eigen/src/SVD
-mkdir -p $DEST/Eigen/src/Sparse
-
-eigencp Eigen/src/Core/arch
-
-eigencp COPYING
-eigencp COPYING.LESSER
-eigencp Eigen/Array
-eigencp Eigen/Cholesky
-eigencp Eigen/Core
-eigencp Eigen/Dense
-eigencp Eigen/Eigen
-eigencp Eigen/Geometry
-eigencp Eigen/LU
-eigencp Eigen/LeastSquares
-eigencp Eigen/QR
-eigencp Eigen/SVD
-eigencp Eigen/Sparse
-eigencp Eigen/src/Array/BooleanRedux.h
-eigencp Eigen/src/Array/CwiseOperators.h
-eigencp Eigen/src/Array/Functors.h
-eigencp Eigen/src/Array/Norms.h
-eigencp Eigen/src/Array/PartialRedux.h
-eigencp Eigen/src/Array/Random.h
-eigencp Eigen/src/Array/Select.h
-eigencp Eigen/src/Cholesky/LDLT.h
-eigencp Eigen/src/Cholesky/LLT.h
-eigencp Eigen/src/Core/Assign.h
-eigencp Eigen/src/Core/Block.h
-eigencp Eigen/src/Core/CacheFriendlyProduct.h
-eigencp Eigen/src/Core/Coeffs.h
-eigencp Eigen/src/Core/CommaInitializer.h
-eigencp Eigen/src/Core/Cwise.h
-eigencp Eigen/src/Core/CwiseBinaryOp.h
-eigencp Eigen/src/Core/CwiseNullaryOp.h
-eigencp Eigen/src/Core/CwiseUnaryOp.h
-eigencp Eigen/src/Core/DiagonalCoeffs.h
-eigencp Eigen/src/Core/DiagonalMatrix.h
-eigencp Eigen/src/Core/DiagonalProduct.h
-eigencp Eigen/src/Core/Dot.h
-eigencp Eigen/src/Core/Flagged.h
-eigencp Eigen/src/Core/Functors.h
-eigencp Eigen/src/Core/Fuzzy.h
-eigencp Eigen/src/Core/GenericPacketMath.h
-eigencp Eigen/src/Core/IO.h
-eigencp Eigen/src/Core/Map.h
-eigencp Eigen/src/Core/MapBase.h
-eigencp Eigen/src/Core/MathFunctions.h
-eigencp Eigen/src/Core/Matrix.h
-eigencp Eigen/src/Core/MatrixBase.h
-eigencp Eigen/src/Core/MatrixStorage.h
-eigencp Eigen/src/Core/Minor.h
-eigencp Eigen/src/Core/NestByValue.h
-eigencp Eigen/src/Core/NumTraits.h
-eigencp Eigen/src/Core/Part.h
-eigencp Eigen/src/Core/Product.h
-eigencp Eigen/src/Core/Redux.h
-eigencp Eigen/src/Core/SolveTriangular.h
-eigencp Eigen/src/Core/Sum.h
-eigencp Eigen/src/Core/Swap.h
-eigencp Eigen/src/Core/Transpose.h
-eigencp Eigen/src/Core/Visitor.h
-eigencp Eigen/src/Core/util/Constants.h
-eigencp Eigen/src/Core/util/DisableMSVCWarnings.h
-eigencp Eigen/src/Core/util/EnableMSVCWarnings.h
-eigencp Eigen/src/Core/util/ForwardDeclarations.h
-eigencp Eigen/src/Core/util/Macros.h
-eigencp Eigen/src/Core/util/Memory.h
-eigencp Eigen/src/Core/util/Meta.h
-eigencp Eigen/src/Core/util/StaticAssert.h
-eigencp Eigen/src/Core/util/XprHelper.h
-eigencp Eigen/src/Geometry/AlignedBox.h
-eigencp Eigen/src/Geometry/AngleAxis.h
-eigencp Eigen/src/Geometry/EulerAngles.h
-eigencp Eigen/src/Geometry/Hyperplane.h
-eigencp Eigen/src/Geometry/OrthoMethods.h
-eigencp Eigen/src/Geometry/ParametrizedLine.h
-eigencp Eigen/src/Geometry/Quaternion.h
-eigencp Eigen/src/Geometry/Rotation2D.h
-eigencp Eigen/src/Geometry/RotationBase.h
-eigencp Eigen/src/Geometry/Scaling.h
-eigencp Eigen/src/Geometry/Transform.h
-eigencp Eigen/src/Geometry/Translation.h
-eigencp Eigen/src/LU/Determinant.h
-eigencp Eigen/src/LU/Inverse.h
-eigencp Eigen/src/LU/LU.h
-eigencp Eigen/src/LeastSquares/LeastSquares.h
-eigencp Eigen/src/QR/EigenSolver.h
-eigencp Eigen/src/QR/HessenbergDecomposition.h
-eigencp Eigen/src/QR/QR.h
-eigencp Eigen/src/QR/SelfAdjointEigenSolver.h
-eigencp Eigen/src/QR/Tridiagonalization.h
-eigencp Eigen/src/SVD/SVD.h
-eigencp Eigen/src/Sparse/AmbiVector.h
-eigencp Eigen/src/Sparse/CompressedStorage.h
-eigencp Eigen/src/Sparse/CoreIterators.h
-eigencp Eigen/src/Sparse/DynamicSparseMatrix.h
-eigencp Eigen/src/Sparse/MappedSparseMatrix.h
-eigencp Eigen/src/Sparse/RandomSetter.h
-eigencp Eigen/src/Sparse/SparseAssign.h
-eigencp Eigen/src/Sparse/SparseBlock.h
-eigencp Eigen/src/Sparse/SparseCwise.h
-eigencp Eigen/src/Sparse/SparseCwiseBinaryOp.h
-eigencp Eigen/src/Sparse/SparseCwiseUnaryOp.h
-eigencp Eigen/src/Sparse/SparseDiagonalProduct.h
-eigencp Eigen/src/Sparse/SparseDot.h
-eigencp Eigen/src/Sparse/SparseFlagged.h
-eigencp Eigen/src/Sparse/SparseFuzzy.h
-eigencp Eigen/src/Sparse/SparseLDLT.h
-eigencp Eigen/src/Sparse/SparseLLT.h
-eigencp Eigen/src/Sparse/SparseLU.h
-eigencp Eigen/src/Sparse/SparseMatrix.h
-eigencp Eigen/src/Sparse/SparseMatrixBase.h
-eigencp Eigen/src/Sparse/SparseProduct.h
-eigencp Eigen/src/Sparse/SparseRedux.h
-eigencp Eigen/src/Sparse/SparseTranspose.h
-eigencp Eigen/src/Sparse/SparseUtil.h
-eigencp Eigen/src/Sparse/SparseVector.h
-eigencp Eigen/src/Sparse/TriangularSolver.h
-
-tar -zcvf eigen.tgz eigen/
-rm -rf eigen/
-
=====================================
HEADERLIBS/eigen.tgz deleted
=====================================
Binary files a/HEADERLIBS/eigen.tgz and /dev/null differ
=====================================
HEADERLIBS/eigen_fix_gcc_610_compile.patch deleted
=====================================
@@ -1,21 +0,0 @@
-
---- eigen/Eigen/src/Sparse/AmbiVector.h 2011-05-28 10:16:08.000000000 +0200
-+++ eigen/Eigen/src/Sparse/AmbiVector.h 2016-05-04 13:21:16.433663172 +0200
-@@ -44,7 +44,7 @@
- void init(RealScalar estimatedDensity);
- void init(int mode);
-
-- void nonZeros() const;
-+ int nonZeros() const;
-
- /** Specifies a sub-vector to work on */
- void setBounds(int start, int end) { m_start = start; m_end = end; }
-@@ -133,7 +133,7 @@
-
- /** \returns the number of non zeros in the current sub vector */
- template<typename Scalar>
--void AmbiVector<Scalar>::nonZeros() const
-+int AmbiVector<Scalar>::nonZeros() const
- {
- if (m_mode==IsSparse)
- return m_llSize;
=====================================
debian/arb-doc.lintian-overrides deleted
=====================================
@@ -1,6 +0,0 @@
-# While the arb-doc package in fact contains documentation
-# that can be read by itself it is a basic component of the
-# help system binary programm arb and needs to be installed
-# in any case if arb should be running. So the decision
-# to move arb-doc not into the doc section was done intentionally
-arb-doc: doc-package-should-be-section-doc arb-doc
=====================================
debian/changelog
=====================================
@@ -1,4 +1,4 @@
-arb (7.0-1) UNRELEASED; urgency=medium
+arb (7.0+ds-1) UNRELEASED; urgency=medium
[ Charles Plessy ]
* Add perl-xs-dev to Build-Depends. Closes: #1102816
@@ -11,8 +11,9 @@ arb (7.0-1) UNRELEASED; urgency=medium
* Run debconf-updatepo after template changes.
[ Andreas Tille ]
- * d/watch: version=5
* New upstream version
+ Closes: #1114476, #1089541
+ * d/watch: version=5
* Reformat the Last-Update date as ISO YYYY-MM-DD.
* debputy lint --auto-fix (routine-update)
* Adapt patches to the new upstream version:
@@ -23,6 +24,10 @@ arb (7.0-1) UNRELEASED; urgency=medium
- Add 140 to strip the C standard from the 'nostd' compatibility build.
* Add libboost-dev and libxerces-c-dev to Build-Depends.
* d/rules: build C sources as C17 and use dh_missing for compat 14.
+ * Build RNACMA against system libeigen3 instead of bundled Eigen
+ Closes: #1120614
+ * Remove code copy of eigen from upstream source
+ * Remove unused lintian-overrides
-- Andreas Tille <tille at debian.org> Fri, 23 Oct 2026 07:24:51 +0200
=====================================
debian/control
=====================================
@@ -13,6 +13,7 @@ Build-Depends:
libb-lint-perl,
libbio-perl-perl,
libboost-dev,
+ libeigen3-dev,
libglew-dev,
libglib2.0-dev,
libglu1-mesa-dev,
=====================================
debian/copyright
=====================================
@@ -3,6 +3,7 @@ Upstream-Name: Arb
Upstream-Contact: Arb development team <devel at arb-home.de>,
Ralf Westram <ralf at arb-home.de>
Source: http://download.arb-home.de/release/
+Files-Excluded: */HEADERLIBS
Disclaimer: This package is not part of the Debian distribution due to its
non-free license, which forbids being sold or incorporated into a commercial
product.
=====================================
debian/patches/145_use_system_libeigen.patch
=====================================
@@ -0,0 +1,82 @@
+Description: Build RNACMA against system libeigen3 instead of bundled Eigen
+ The bundled Eigen user copy in HEADERLIBS is Eigen 2.0.16, whose Altivec
+ code (Eigen/src/Core/arch/AltiVec/PacketMath.h) uses intrinsics
+ (__builtin_vec_ld on float/int vectors) that GCC 14+ rejects on
+ little-endian PowerPC, so arb FTBFSes on ppc64el.
+ Use the system library libeigen3-dev (Eigen 3.4.0) instead and stop
+ unpacking the bundled copy at build time. RNACMA's Cma.cxx needs one
+ Eigen 3 API adjustment (a DiagonalWrapper expression can no longer be
+ subtracted from a matrix; it has to be materialised first) and the
+ legacy lowercase include path has to point at the Debian layout
+ (/usr/include/eigen3). The bundled HEADERLIBS/eigen copy is left in
+ the source tree for now and only the build no longer depends on it.
+Bug-Debian: https://bugs.debian.org/1120614
+Author: Andreas Tille <tille at debian.org>
+Last-Update: 2026-10-23
+Assisted-By: scaleway/deepseek-v4-flash-0731
+
+--- a/RNACMA/Cma.h
++++ b/RNACMA/Cma.h
+@@ -43,7 +43,7 @@
+ #include <list>
+ #endif
+
+-#include <eigen/Eigen/Eigen>
++#include <eigen3/Eigen/Eigen>
+
+ #ifndef CXXFORWARD_H
+ #include <cxxforward.h>
+--- a/RNACMA/Cma.cxx
++++ b/RNACMA/Cma.cxx
+@@ -93,7 +93,7 @@
+
+ JointEntropy = computeJointEntropy(seq);
+
+- JointEntropy = JointEntropy + JointEntropy.adjoint() - JointEntropy.diagonal().asDiagonal();
++ JointEntropy = (JointEntropy + JointEntropy.adjoint() - JointEntropy.diagonal().asDiagonal().toDenseMatrix()).eval();
+
+ entropy = JointEntropy.diagonal();
+
+--- a/RNACMA/Makefile
++++ b/RNACMA/Makefile
+@@ -25,8 +25,6 @@
+ endif
+ endif
+
+-cma_cflags+= -I../HEADERLIBS
+-
+ $(MAIN): $(CPP_OBJECTS) warn
+ @$(ARBHOME)/SOURCE_TOOLS/binuptodate.pl $(MAIN) $(CPP_OBJECTS) || ( \
+ echo "$(LINK_STATIC_LIB) $(MAIN) $(CPP_OBJECTS)"; \
+--- a/Makefile
++++ b/Makefile
+@@ -1759,7 +1759,7 @@
+ PRIMER_DESIGN/PRIMER_DESIGN.dummy: links_non_perl
+ PROBE_SET/PROBE_SET.dummy: links_non_perl link_db
+ READSEQ/READSEQ.dummy: links_non_perl
+-RNACMA/RNACMA.dummy: links_non_perl header_libs
++RNACMA/RNACMA.dummy: links_non_perl
+ SECEDIT/SECEDIT.dummy: links_non_perl
+ SEQ_QUALITY/SEQ_QUALITY.dummy: links_non_perl
+ SERVERCNTRL/SERVERCNTRL.dummy: links_non_perl com
+@@ -2136,11 +2136,7 @@
+ #********************************************************************************
+
+ header_libs:
+- @(( \
+- echo "$(SEP) Make HEADERLIBS"; \
+- $(MAKE) -C HEADERLIBS all && \
+- echo "$(SEP) Make HEADERLIBS [done]"; \
+- ) > HEADERLIBS.log 2>&1 && (cat HEADERLIBS.log;rm HEADERLIBS.log)) || (cat HEADERLIBS.log;rm HEADERLIBS.log;false)
++ @true
+
+ #********************************************************************************
+
+@@ -2308,7 +2304,6 @@
+ objclean \
+ lib/lib.clean \
+ GDEHELP/GDEHELP.clean \
+- HEADERLIBS/HEADERLIBS.clean \
+ SOURCE_TOOLS/SOURCE_TOOLS.clean \
+ SOURCE_TOOLS/COMPILE_COMPAT/COMPILE_COMPAT.clean \
+ UNIT_TESTER/UNIT_TESTER.clean \
=====================================
debian/patches/series
=====================================
@@ -10,3 +10,4 @@ gcc-16+
120_disable_vectorize_check.patch
130_bundled_raxml_build_c17.patch
140_compile_compat_strip_c_std.patch
+145_use_system_libeigen.patch
=====================================
debian/watch
=====================================
@@ -4,3 +4,5 @@ Source: http://download.arb-home.de/release/
Matching-Pattern: arb-(\d+.*)/
Download-Url-Mangle: s{([\d.]+)/$}{$1/arb-$1-source.tgz}
Filename-Mangle: s/\/$/.tgz/
+Repack-Suffix: +ds
+Dversion-Mangle: auto
View it on GitLab: https://salsa.debian.org/med-team/arb/-/compare/488efa9f1d302be402b0eeff2e8321744a68ab94...5ac179e32465eb78db769bd3d46905834d53e83a
--
View it on GitLab: https://salsa.debian.org/med-team/arb/-/compare/488efa9f1d302be402b0eeff2e8321744a68ab94...5ac179e32465eb78db769bd3d46905834d53e83a
You're receiving this email because of your account on salsa.debian.org. Manage all notifications: https://salsa.debian.org/-/profile/notifications | Help: https://salsa.debian.org/help
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20261023/6fd40bfa/attachment-0001.htm>
More information about the debian-med-commit
mailing list