Bug 1479023 - Ceres 1.12.0 has CMake fatal error (fixed in 1.13)
Ceres 1.12.0 has CMake fatal error (fixed in 1.13)
Product: Fedora
Classification: Fedora
Component: ceres-solver (Show other bugs)
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Rich Mattes
Fedora Extras Quality Assurance
Depends On:
  Show dependency treegraph
Reported: 2017-08-07 14:21 EDT by Philip Salvaggio
Modified: 2017-08-20 14:25 EDT (History)
2 users (show)

See Also:
Fixed In Version: ceres-solver-1.12.0-6.fc26
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2017-08-20 14:25:24 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Philip Salvaggio 2017-08-07 14:21:00 EDT
Description of problem:
After installing ceres-solver-devel, the CMake config script has a fatal error (duplicate else statement on line 89). This has been fixed in 1.13, but prevents any CMake-based project from using Ceres on 1.12.

Version-Release number of selected component (if applicable):
Fedora 26, ceres-solver-devel 1.12.0

How reproducible:

Steps to Reproduce:
1. sudo dnf install ceres-solver-devel
2. Try to use find_package(Ceres) in another CMake project

Actual results:
-- Failed to find Ceres - Found Eigen dependency, but the version of Eigen found (3.3.4) does not exactly match the version of Eigen Ceres was compiled with (3.3.3). This can cause subtle bugs by triggering violations of the One Definition Rule. See the Wikipedia article http://en.wikipedia.org/wiki/One_Definition_Rule for more details
CMake Error at /usr/lib64/cmake/Ceres/CeresConfig.cmake:89 (else):
  A duplicate ELSE command was found inside an IF block.
Call Stack (most recent call first):
  /usr/lib64/cmake/Ceres/CeresConfig.cmake:217 (ceres_report_not_found)
  CMakeLists.txt:253 (find_package)

Expected results:

Additional info:
This CMake bug has been fixed in 1.13.0, so upgrading the RPM to 1.13.0 should resolve this issue. The Eigen version mismatch warning is also concerning, so possibly the upgrade will fix that as well.
Comment 1 Rich Mattes 2017-08-07 20:54:08 EDT
Thanks for the report.  It looks like 1.13.0 has some backwards incompatible changes, so I'd prefer not to update it in a released fedora.  I will port the cmake patch to 1.12.0 and rebuild so that the correct version of eigen3 is detected.
Comment 2 Fedora Update System 2017-08-07 21:54:48 EDT
ceres-solver-1.12.0-6.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-d196b09c83
Comment 3 Fedora Update System 2017-08-13 00:02:35 EDT
ceres-solver-1.12.0-6.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-d196b09c83
Comment 4 Fedora Update System 2017-08-20 14:25:24 EDT
ceres-solver-1.12.0-6.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.

Note You need to log in before you can comment on or make changes to this bug.