Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use C++14, unpin boost, and update prebuilt CCTBX base #2319

Merged
merged 10 commits into from
Jan 25, 2023

Conversation

ndevenish
Copy link
Member

Now that we can enable C++14 in the libtbx environment, enable this. This lets us unpin boost so that we can use boost::geometry in boost 1.78 (which only supports C++14).

Prebuilt pointer is updated here but currently doesn't work; The distributed libtbx environment is built against boost 1.78 but fixed to C++11, and it doesn't seem immediately easy to override. I'm not current sure how extensively we are actually using that mode now though; I think in most cases we now use CMake (which always supported C++14).

@phyy-nx
Copy link
Member

phyy-nx commented Jan 23, 2023

I'd say this closes #2291

@ndevenish
Copy link
Member Author

Yes, however it seems the windows issues have hit this one too. Ideally I'd like to solve them before making the new release.

@ndevenish
Copy link
Member Author

Cancelled because this won't work until cctbx/dxtbx#605 is in

This is explicitly linked by dxtbx, but until now had only
been implicitly pulled in as a dependency. At least some
configurations of packages on windows apparently doesn't
do this any more, so let's be explicit.
@ndevenish ndevenish merged commit 6fe5cb8 into dials:main Jan 25, 2023
@ndevenish ndevenish deleted the cpp14_bootstrap branch January 25, 2023 13:31
dagewa pushed a commit that referenced this pull request Feb 20, 2023
Using C++14 by default exposes dials to failures on windows because of
the standard library overrides in cctbx, so remove those when building
dials libraries.

Using C++14 means that we can use Boost::Geometry in boost 1.78, which
dropped support for older versions. This means that we can build against
the January 2023 release of cctbx, which requires boost 1.78.

Additionally, dxtbx directly links to zlib but this was only ever pulled
into the conda environments implicitly, but on some configurations of
building dials on windows this is no longer the case - so make the
dependency explicit here.

Fixes #2291.
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.

None yet

3 participants