Name: ceres-solver Version: 1.11.0 # Release candidate versions are messy. Give them a release of # e.g. "0.1.0%{?dist}" for RC1 (and remember to adjust the Source0 # URL). Non-RC releases go back to incrementing integers starting at 1. Release: 1%{?dist} Summary: A non-linear least squares minimizer Group: Development/Libraries License: BSD URL: http://ceres-solver.org/ Source0: http://%{name}.org/%{name}-%{version}.tar.gz # Exclude ppc64 because suitesparse is not available on ppc64 # https://lists.fedoraproject.org/pipermail/epel-devel/2015-May/011193.html ExcludeArch: ppc64 %if (0%{?rhel} == 06) BuildRequires: cmake28 >= 2.8.0 %else BuildRequires: cmake >= 2.8.0 %endif # Need -static package per guidelines for handling dependencies on header-only # libraries. # http://fedoraproject.org/wiki/Packaging:Guidelines#Packaging_Header_Only_Libraries BuildRequires: eigen3-static >= 3.2.1 # suitesparse < 3.4.0-9 ships without *.hpp C++ headers # https://bugzilla.redhat.com/show_bug.cgi?id=1001869 BuildRequires: suitesparse-devel >= 3.4.0-9 # If the suitesparse package was built with TBB then we need TBB too %ifnarch s390 s390x BuildRequires: tbb-devel %endif # Use atlas for BLAS and LAPACK BuildRequires: atlas-devel BuildRequires: gflags-devel # Build against miniglog on RHEL6 until glog package is added to EPEL6 %if (0%{?rhel} != 06) BuildRequires: glog-devel >= 0.3.1 %endif %description Ceres Solver is an open source C++ library for modeling and solving large, complicated optimization problems. It is a feature rich, mature and performant library which has been used in production at Google since 2010. Notable use of Ceres Solver is for the image alignment in Google Maps and for vehicle pose in Google Street View. Ceres Solver can solve two kinds of problems. 1. Non-linear Least Squares problems with bounds constraints. 2. General unconstrained optimization problems. Features include: - A friendly API: build your objective function one term at a time - Automatic and numeric differentiation - Robust loss functions - Local parameterizations - Threaded Jacobian evaluators and linear solvers - Trust region solvers with non-monotonic steps (Levenberg-Marquardt and Dogleg (Powell & Subspace)) - Line search solvers (L-BFGS and Nonlinear CG) - Dense QR and Cholesky factorization (using Eigen) for small problems - Sparse Cholesky factorization (using SuiteSparse) for large sparse problems - Specialized solvers for bundle adjustment problems in computer vision - Iterative linear solvers for general sparse and bundle adjustment problems - Runs on Linux, Windows, Mac OS X, Android, and iOS %package devel Summary: A non-linear least squares minimizer Group: Development/Libraries Requires: %{name}%{?_isa} = %{version}-%{release} %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %prep %setup -q %build mkdir build pushd build %if (0%{?rhel} == 06) %{cmake28} .. -DMINIGLOG:BOOL=ON \ %else %{cmake} .. \ %endif -DCXSPARSE_INCLUDE_DIR:PATH=%{_includedir}/suitesparse \ -DBLAS_LIBRARIES:PATH=%{_libdir}/atlas/libsatlas.so make %{?_smp_mflags} %install make -C build install DESTDIR=$RPM_BUILD_ROOT %check CTEST_OUTPUT_ON_FAILURE=1 make -C build test %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %if (0%{?rhel} == 06) %doc README.md LICENSE %else %doc README.md %license LICENSE %endif %{_libdir}/*.so.* %files devel %{_includedir}/* %{_libdir}/*.so %dir %{_datadir}/Ceres %{_datadir}/Ceres/*.cmake %changelog * Mon Oct 12 2015 Rich Mattes - 1.11.0-1 - Update to release 1.11.0 * Fri Jul 10 2015 Taylor Braun-Jones - 1.10.0-8 - Increase epsilon tolerance for one unit test. Needed for new gcc-5 changes. * Wed Jun 17 2015 Fedora Release Engineering - 1.10.0-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Thu Jun 11 2015 Nils Philippsen - 1.10.0-6 - rebuild for suitesparse-4.4.4 * Sat May 9 2015 Taylor Braun-Jones - 1.10.0-5 - Exclude ppc64 * Sat May 02 2015 Kalev Lember - 1.10.0-4 - Rebuilt for GCC 5 C++11 ABI change * Fri Apr 3 2015 Taylor Braun-Jones - 1.10.0-3 - Add upstream patch to fix failing unit test small_blas_test. * Thu Mar 12 2015 Taylor Braun-Jones - 1.10.0-3 - Incorporate package review suggestions from Alex Stewart, Christopher Meng, and Rich Mattes. * Wed Mar 11 2015 Taylor Braun-Jones - 1.10.0-2 - Address comments from Rich Mattes' package review. * Mon Jan 12 2015 Taylor Braun-Jones - 1.10.0-1 - Bump version and merge .spec updates from latest upstream release. * Wed Nov 13 2013 Taylor Braun-Jones - 1.8.0-1 - New upstream release. * Mon Nov 04 2013 Taylor Braun-Jones - 1.8.0-0.1.0 - New upstream release candidate. * Wed Sep 04 2013 Taylor Braun-Jones - 1.7.0-1 - Bump version * Thu Aug 29 2013 Taylor Braun-Jones - 1.7.0-0.3.0 - Bump version * Mon Aug 26 2013 Sameer Agarwal - 1.7.0-0.2.0 - Bump version * Thu Jul 18 2013 Sameer Agarwal - 1.7.0-0.1.0 - Bump version * Mon Apr 29 2013 Sameer Agarwal - 1.6.0-1 - Bump version * Mon Apr 29 2013 Sameer Agarwal - 1.6.0-0.2.0 - Bump version * Mon Apr 29 2013 Sameer Agarwal - 1.6.0-0.1.0 - Bump version * Sun Feb 24 2013 Taylor Braun-Jones - 1.5.0-0.1.0 - Bump version. * Sun Oct 14 2012 Taylor Braun-Jones - 1.4.0-0 - Initial creation