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
Boost 1.65: boost::python::numeric removed #70
Projects
Comments
Update: Since we updated to Boost 1.63, I've put the first part of this in: 1769a36 - this ensures the new boost module is compiled. Haven't added any API use changes yet. |
Closed
ndevenish
added a commit
to ndevenish/cctbx_project-fork
that referenced
this issue
Apr 26, 2018
Boost 1.63 deprecated boost::python::numeric and added ::numpy. In order to update to 1.65 (cctbx#172), which drops the numeric API, we needed to move to the new ::numpy. Because the numpy bridge code is mainly written in plain numpy C-API, the opportunity has been taken to update the API syntax (to remove warnings about using the old API). The old macro-based declaration scheme has been removed in favor of C++ templates, which means the numpy conversion routines can be specified more centrally for flex arrays, though for some reason this appears to fail for std::size (which is why that is overridden specifically in flex_size_t.cpp) Fixes cctbx#70.
phyy-nx
pushed a commit
to ndevenish/cctbx_project-fork
that referenced
this issue
Apr 26, 2018
Boost 1.63 deprecated boost::python::numeric and added ::numpy. In order to update to 1.65 (cctbx#172), which drops the numeric API, we needed to move to the new ::numpy. Because the numpy bridge code is mainly written in plain numpy C-API, the opportunity has been taken to update the API syntax (to remove warnings about using the old API). The old macro-based declaration scheme has been removed in favor of C++ templates, which means the numpy conversion routines can be specified more centrally for flex arrays, though for some reason this appears to fail for std::size (which is why that is overridden specifically in flex_size_t.cpp) Fixes cctbx#70.
Anthchirp
added a commit
that referenced
this issue
Jun 3, 2018
This is a necessary prerequisite to #70. Reason this failed was that BOOST_PYTHON_SOURCE was defined for the boost::numpy components. This led to an attempt to export boost::python in the boost::numpy library, which then failed during linking.
Anthchirp
added a commit
that referenced
this issue
Jun 3, 2018
This is a necessary prerequisite to #70. Reason this failed was that BOOST_PYTHON_SOURCE was defined for the boost::numpy components. This led to an attempt to export boost::python in the boost::numpy library, which then failed during linking. On Windows boost::numpy requires boost 1.64. This is due to a bug in 1.63 which means the boost_numpy.lib is not created. boostorg/python#98
bkpoon
pushed a commit
that referenced
this issue
Jun 8, 2018
This is a necessary prerequisite to #70. Reason this failed was that BOOST_PYTHON_SOURCE was defined for the boost::numpy components. This led to an attempt to export boost::python in the boost::numpy library, which then failed during linking. On Windows boost::numpy requires boost 1.64. This is due to a bug in 1.63 which means the boost_numpy.lib is not created. boostorg/python#98
ndevenish
added a commit
to ndevenish/cctbx_project-fork
that referenced
this issue
Jul 1, 2018
Boost 1.63 deprecated boost::python::numeric and added ::numpy. In order to update to 1.65 (cctbx#172), which drops the numeric API, we needed to move to the new ::numpy. Because the numpy bridge code is mainly written in plain numpy C-API, the opportunity has been taken to update the API syntax (to remove warnings about using the old API). The old macro-based declaration scheme has been removed in favor of C++ templates, which means the numpy conversion routines can be specified more centrally for flex arrays, though for some reason this appears to fail for std::size (which is why that is overridden specifically in flex_size_t.cpp) Fixes cctbx#70.
ndevenish
added a commit
to ndevenish/cctbx_project-fork
that referenced
this issue
Oct 24, 2018
Boost 1.63 deprecated boost::python::numeric and added ::numpy. In order to update to 1.65 (cctbx#172), which drops the numeric API, we needed to move to the new ::numpy. Because the numpy bridge code is mainly written in plain numpy C-API, the opportunity has been taken to update the API syntax (to remove warnings about using the old API). The old macro-based declaration scheme has been removed in favor of C++ templates, which means the numpy conversion routines can be specified more centrally for flex arrays, though for some reason this appears to fail for std::size (which is why that is overridden specifically in flex_size_t.cpp) Fixes cctbx#70.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
As per http://www.boost.org/users/history/version_1_65_1.html:
This is used in (at least)
scitbx/.../numpy_bridge.hpp
and thus anything that depends on it. I tried literally just renaming the interface and providing compatibility macros (ndevenish/cctbx_project@1d25c89 was the very rough first attempt), and that wasn't sufficient, but didn't get time to delve any deeper.More of an "in the future" problem since we don't use it at the moment - since this was just discussed I thought I'd add it here to track. I don't think this is the only issue with Boost 1.65.
The new numpy API was only added in Boost 1.63, so potentially moving to that as a minimum requirement first would mean that we don't have to conditionally adhere to both APIs, but I don't know how realistic that is.
The text was updated successfully, but these errors were encountered: