On 28/05/20 09:44 +0100, Jonathan Wakely wrote:
I'm starting the rebuilds for Boost 1.73.0 and packages that depend on it, using the f33-boost side tag. If you see "Rebuilt for Boost 1.73.0" in the changelog for one of your packages, please do not make another update. Instead co-ordinate with me to use the side tag for your update (if your package also depends on Python then also talk to Miro Hrončok). If your package depends on Boost and you don't see "Rebuilt for Boost 1.73.0" in the %changelog yet, it might be worth checking with me anyway, as I'll probably be starting it soon.
The rebuilds are done and being merged from f33-boost into f33 now. As usual lots of packages failed to build. Unlike in previous years, I didn't fix most of them myself. ### Boost.Endian Several packages fail because they were using an implementation detail of Boost, the <boost/detail/endian.hpp> header. That no longer exists, but nobody should have been using it anyway :-P The Boost.Endian library exists now, and provides <boost/endian/endian.hpp> which should work instead. This Boost.Endian issue affects: openscad supercollider ### Boost.Bind Several packages failed to build because the Boost.Bind placeholders _1, _2, _3 etc. are no longer in the global namespace. See the message in <boost/bind.hpp>: BOOST_PRAGMA_MESSAGE( "The practice of declaring the Bind placeholders (_1, _2, ...) " "in the global namespace is deprecated. Please use " "<boost/bind/bind.hpp> + using namespace boost::placeholders, " "or define BOOST_BIND_GLOBAL_PLACEHOLDERS to retain the current behavior." ) This Boost.Bind issue affects: bear-factory domoticz gazebo hpx liblas luxcorerender pdns pdns-recursor uhd widelands ### C++ <algorithm> includes Several packages failed to build because they couldn't find C++ Standard Library algorithms: dolfin: error: 'min_element' is not a member of 'std'; did you mean 'tuple_element'? freeopcua: error: 'for_each' is not a member of 'std' gnucash: error: 'for_each' is not a member of 'std' mir: error: 'find' is not a member of 'std' openms: error: 'sort' is not a member of 'std' All of these function templates are declared in <algorithm> so it means the packages are failing to include what they use. They need to be patched to include <algorithm>. ### qt5-devel Several packages failed to build due to BuildRequires: qt5-devel which is nothing to do with the Boost update, and was already broken on rawhide. ### stdair etc. The stdair, airinv, airrac suite had some problems generating documentation, which doesn't look related to Boost. I didn't investigate. ### Misc There were some other failures unique to individual packages, not all look like they're caused by the boost update: IQmol: error: no matching function for call to 'IQmol::Layer::Group::Group(IQmol::Layer::PrimitiveList&)' aqsis: error: 'shared_ptr' in namespace 'boost' does not name a template type blender: error: unknown type name 'PyNoArgsFunction'; did you mean 'PyCFunction'? dynafed: error: macro "Error" requires 2 arguments, but only 1 given espresso: fatal error: in "pack_pair_test": std::out_of_range: vector::_M_range_check: __n (which is 1) >= this->size() (which is 1) freecad: error: 'Int' in namespace 'Py' does not name a type libzypp: error: reference to 'filesystem' is ambiguous mapnik: error: ‘ref’ is not a member of ‘boost::phoenix’ ompl: error: invalid initialization of reference of type pokerth: error: 'class std::reference_wrapper<boost::asio::io_context>' has no member named 'context' scram: error: 'BOOST_THROW_EXCEPTION_CURRENT_FUNCTION' was not declared in this scope
The new Boost will include the following changes: - rename boost-jam package to boost-b2, and /usr/bin/bjam with /usr/bin/b2 (it looks nothing in Fedora uses this anyway) - obsolete the separate boost-nowide package, as Boost 1.73.0 includes the Boost.Nowide library now jhogarth, please confirm you're aware of the nowide change. The existing boost-nowide package will need to be retired in rawhide.
I never heard back about this. The 'leatherman' package (which uses boost-nowide) FTBFS with the new boost (which provides a new boost-nowide subpackage) because the <boost/nowide/cenv.hpp> header is in the standalone Nowide library, but *not* in the version added to the main Boost project. This header issue affects: leatherman slic3r cpp-hocon (build requires leatherman) facter (build requires leatherman) Aside: I wish libraries wouldn't call themselves Boost.Foo when they're not part of Boost yet, especially if they're not actually compatible with what eventually lands in Boost. _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx