Re: [HEADS UP] F33 Boost 1.73.0 rebuilds starting in a side tag

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux