summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO4
-rw-r--r--PKGBUILD11
-rw-r--r--ceres-solver-fix-suitesparse-7.2.patch12
3 files changed, 22 insertions, 5 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 2da47197d9e6..eba131eae33b 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = ceres-solver-legacy
pkgdesc = Solver for nonlinear least squares problems. Legacy version needed for google cartographer
pkgver = 1.14.0
- pkgrel = 5
+ pkgrel = 6
url = http://ceres-solver.org/
arch = i686
arch = x86_64
@@ -16,7 +16,9 @@ pkgbase = ceres-solver-legacy
options = staticlibs
source = http://ceres-solver.org/ceres-solver-1.14.0.tar.gz
source = ceres-solver-fix-cmake-findtbb.patch
+ source = ceres-solver-fix-suitesparse-7.2.patch
sha256sums = 4744005fc3b902fed886ea418df70690caa8e2ff6b5a90f3dd88a3d291ef8e8e
sha256sums = 6166866bf678ac26acaf0c95279c02a039652856f924b2782dff4d46bb39402b
+ sha256sums = 30020a2a3d6827e269ab3ec4c14397c3ce2ab2b19afc85e61ae268dd301dec7b
pkgname = ceres-solver-legacy
diff --git a/PKGBUILD b/PKGBUILD
index a2832b721893..c5c289546f43 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,7 +3,7 @@
pkgname=ceres-solver-legacy
pkgver=1.14.0
-pkgrel=5
+pkgrel=6
pkgdesc="Solver for nonlinear least squares problems. Legacy version needed for google cartographer"
arch=('i686' 'x86_64')
url="http://ceres-solver.org/"
@@ -15,9 +15,11 @@ provides=(ceres-solver)
conflicts=(ceres-solver)
source=("http://ceres-solver.org/ceres-solver-${pkgver}.tar.gz"
- "ceres-solver-fix-cmake-findtbb.patch")
+ "ceres-solver-fix-cmake-findtbb.patch"
+ "ceres-solver-fix-suitesparse-7.2.patch")
sha256sums=('4744005fc3b902fed886ea418df70690caa8e2ff6b5a90f3dd88a3d291ef8e8e'
- '6166866bf678ac26acaf0c95279c02a039652856f924b2782dff4d46bb39402b')
+ '6166866bf678ac26acaf0c95279c02a039652856f924b2782dff4d46bb39402b'
+ '30020a2a3d6827e269ab3ec4c14397c3ce2ab2b19afc85e61ae268dd301dec7b')
options=('staticlibs')
_cmakeopts=('-D CMAKE_BUILD_TYPE=Release'
@@ -30,7 +32,8 @@ _cmakeopts=('-D CMAKE_BUILD_TYPE=Release'
prepare() {
cd $srcdir/ceres-solver-$pkgver
- patch -p1 < ../ceres-solver-fix-cmake-findtbb.patch
+ patch -p1 -i "$srcdir"/ceres-solver-fix-cmake-findtbb.patch
+ patch -p1 -i "$srcdir"/ceres-solver-fix-suitesparse-7.2.patch
}
build() {
diff --git a/ceres-solver-fix-suitesparse-7.2.patch b/ceres-solver-fix-suitesparse-7.2.patch
new file mode 100644
index 000000000000..e670d18936ca
--- /dev/null
+++ b/ceres-solver-fix-suitesparse-7.2.patch
@@ -0,0 +1,12 @@
+diff -Naur ceres-solver-1.14.0/internal/ceres/covariance_impl.cc ceres-solver-1.14.0_/internal/ceres/covariance_impl.cc
+--- ceres-solver-1.14.0/internal/ceres/covariance_impl.cc 2018-03-23 22:44:36.000000000 +0800
++++ ceres-solver-1.14.0_/internal/ceres/covariance_impl.cc 2023-09-17 14:56:23.746434595 +0800
+@@ -669,7 +669,7 @@
+ // ordering computed. So, it maybe worth doing that analysis
+ // separately.
+ const SuiteSparse_long rank =
+- SuiteSparseQR<double>(SPQR_ORDERING_BESTAMD,
++ SuiteSparseQR<double, int64_t>(SPQR_ORDERING_BESTAMD,
+ SPQR_DEFAULT_TOL,
+ cholmod_jacobian.ncol,
+ &cholmod_jacobian,