Skip to content

Fix build with current Boost and PoseLib#1273

Open
Rheinwalt wants to merge 2 commits into
cdcseacave:developfrom
Rheinwalt:fix/arch-boost-poselib-logging
Open

Fix build with current Boost and PoseLib#1273
Rheinwalt wants to merge 2 commits into
cdcseacave:developfrom
Rheinwalt:fix/arch-boost-poselib-logging

Conversation

@Rheinwalt

@Rheinwalt Rheinwalt commented May 20, 2026

Copy link
Copy Markdown

This updates the build and SFM PoseLib integration for current dependency versions.

Changes

  • Prefer modern Boost Python CMake targets when available, while keeping fallback behavior.
  • Adapt bearing pose estimation calls to the current PoseLib API behind a small compatibility wrapper.

Tested

On Arch Linux with:

  • Boost 1.91
  • Python 3.14
  • PoseLib master 012f52ab5183cb72b4f3cdca5d389ef556f0a107

@Rheinwalt
Rheinwalt force-pushed the fix/arch-boost-poselib-logging branch from c7fb76c to 5d63cf5 Compare May 27, 2026 20:42
@cdcseacave

cdcseacave commented May 28, 2026

Copy link
Copy Markdown
Owner

thank you for all the work, but I can not merge it, it is too intrusive and deviates from the coding style (ex replace GIT_LOG() with std::cout)

reduce this to build fix only

@Rheinwalt
Rheinwalt force-pushed the fix/arch-boost-poselib-logging branch from 5d63cf5 to ec79e5b Compare May 28, 2026 08:52
@Rheinwalt Rheinwalt changed the title Fix shared builds with modern Boost, PoseLib master, and logging Fix build with current Boost and PoseLib May 28, 2026
@Rheinwalt

Copy link
Copy Markdown
Author

Like this maybe?

@cdcseacave

Copy link
Copy Markdown
Owner

why did you create the two poselib files?

@Rheinwalt

Copy link
Copy Markdown
Author

The two files are needed for me on arch linux in order to build against vanilla upstream PoseLib. My guess is you're using a custom/old poselib which exposes estimate_relative_pose_bearings / estimate_absolute_pose_bearings?

@Rheinwalt

Copy link
Copy Markdown
Author

Rebased onto current develop, including the upstream PoseLib bearing API changes.

The remaining changes in PairsMatcher.cpp and Resection.cpp are not conflict-resolution code. They route the bearing-vector pose calls through a small compatibility adapter so OpenMVS can build both with the PoseLib API expected by current develop and with vanilla upstream PoseLib master, which does not expose the same estimate_*_pose_bearings entry points.

@Rheinwalt
Rheinwalt force-pushed the fix/arch-boost-poselib-logging branch from ec79e5b to 216dc0e Compare June 11, 2026 10:09
@Rheinwalt
Rheinwalt force-pushed the fix/arch-boost-poselib-logging branch from 216dc0e to 72ae19a Compare June 11, 2026 10:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants