Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 630754 - dev-libs/boost-1.66.0 version bump
Summary: dev-libs/boost-1.66.0 version bump
Status: RESOLVED DUPLICATE of bug 653878
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal enhancement with 2 votes (vote)
Assignee: C++ Team [disbanded]
URL: http://www.boost.org/users/history/ve...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-09-11 23:33 UTC by Alex Turbov
Modified: 2019-04-12 15:10 UTC (History)
10 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alex Turbov 2017-09-11 23:33:42 UTC
A new release has been rolled.

Reproducible: Always
Comment 1 Viktor Levin 2018-02-15 11:45:07 UTC
New URL:

http://www.boost.org/users/history/version_1_66_0.html
Comment 2 Scott Alfter 2018-03-02 16:03:58 UTC
Just a quick warning: this one's likely to cause more breakage than previous versions.  FreeBSD has already upgraded to this version, and I had to patch a program that I was running on it:

https://gitlab.com/salfter/bitgem/blob/master/boost-1.66-fixes.patch

I've already incorporated this into the ebuild so that when Boost 1.66 arrives on Gentoo, it's ready, but I'll need to check my other coin-daemon ebuilds too.  The change is also causing issues for other types of software and on other platforms.
Comment 3 Larry the Git Cow gentoo-dev 2018-03-06 19:33:08 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=510865f5e037bc46eaf839bca3f4174db23e49ce

commit 510865f5e037bc46eaf839bca3f4174db23e49ce
Author:     Patrick McLean <chutzpah@gentoo.org>
AuthorDate: 2018-03-06 19:32:05 +0000
Commit:     Patrick McLean <chutzpah@gentoo.org>
CommitDate: 2018-03-06 19:32:42 +0000

    dev-libs/boost: Unkeyworded version bump to 1.66 (bug 630754)
    
    Unkeyworded pending testing and review from boost project team.
    
    Bug: https://bugs.gentoo.org/630754
    Package-Manager: Portage-2.3.24, Repoman-2.3.6

 dev-libs/boost/Manifest            |   1 +
 dev-libs/boost/boost-1.66.0.ebuild | 439 +++++++++++++++++++++++++++++++++++++
 2 files changed, 440 insertions(+)

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2e6883dc8ad13bd074b3346b7381e983ab7e190c

commit 2e6883dc8ad13bd074b3346b7381e983ab7e190c
Author:     Patrick McLean <chutzpah@gentoo.org>
AuthorDate: 2018-03-06 19:12:46 +0000
Commit:     Patrick McLean <chutzpah@gentoo.org>
CommitDate: 2018-03-06 19:32:41 +0000

    dev-util/boost-build: Unkeyworded version bump to 1.66 (bug 630754)
    
    Unkeyworded pending testing and review from boost project team.
    
    Bug: https://bugs.gentoo.org/630754
    Package-Manager: Portage-2.3.24, Repoman-2.3.6

 dev-util/boost-build/Manifest                      |   1 +
 dev-util/boost-build/boost-build-1.66.0.ebuild     | 140 +++++++++++++++++++++
 ...ost-build-1.66.0-add-none-feature-options.patch |  26 ++++
 3 files changed, 167 insertions(+)}
Comment 4 Larry the Git Cow gentoo-dev 2018-09-04 08:19:40 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0de6367c771d92bcb28febcb8a1b8574ce43e770

commit 0de6367c771d92bcb28febcb8a1b8574ce43e770
Author:     Sergei Trofimovich <slyfox@gentoo.org>
AuthorDate: 2018-09-04 07:27:33 +0000
Commit:     Sergei Trofimovich <slyfox@gentoo.org>
CommitDate: 2018-09-04 08:19:25 +0000

    sys-apps/nix: bump up to 2.1, unkeyworded
    
    No keywords as >=dev-libs/boost-1.66 is not
    keyworded in Gentoo. See bug #630754.
    
    Bug: https://bugs.gentoo.org/630754
    Package-Manager: Portage-2.3.49, Repoman-2.3.10

 sys-apps/nix/Manifest       |   1 +
 sys-apps/nix/nix-2.1.ebuild | 135 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 136 insertions(+)
Comment 5 Sergei Trofimovich (RETIRED) gentoo-dev 2018-09-05 19:09:08 UTC
Any plans to keyword dev-libs/boost-1.66 in ::gentoo any time soon?
Comment 6 Holger Hoffstätte 2018-09-05 19:20:30 UTC
(In reply to Sergei Trofimovich from comment #5)
> Any plans to keyword dev-libs/boost-1.66 in ::gentoo any time soon?

I gave it a try some time ago and practically everything broke.
This release has several breaking changes (search for "Breaking change"
on https://www.boost.org/users/history/version_1_67_0.html) and by far
the dumbest was this:

"Breaking change: <boost/utility.hpp> header no longer includes boost::next and boost::prior as they have been moved to the iterator module. Instead include <boost/next_prior.hpp>. Other uses of <boost/utility.hpp> are discouraged, it's better to use the header for the specific functionality instead."

So while in theory this is a not-completely-wrong idea, *of course* they
half-assed the implementation and didn't go all the way with
eliminating the utility.hpp header all at once.

Another hair-raising change was the reversal of return values of atomics:
"Breaking change: Changed the result of the (op)_and_test operations added in Boost 1.66 to the opposite - the functions now return true if the operation result is non-zero. [..]". SO code compiles but will probably start doing
the opposite of what it is supposed to do.

So unmasking this will require quite a bit of careful porting work.
Comment 7 Sergei Trofimovich (RETIRED) gentoo-dev 2018-09-05 22:37:24 UTC
(In reply to Holger Hoffstätte from comment #6)
> (In reply to Sergei Trofimovich from comment #5)
> > Any plans to keyword dev-libs/boost-1.66 in ::gentoo any time soon?
> 
> I gave it a try some time ago and practically everything broke.
Are there any bug reports so people could work on a fix or at least be aware it's broken?

> So unmasking this will require quite a bit of careful porting work.
I would expect Gentoo to have a tracker bug or any other way of tracking the effort. I don't see it now and assume I'm missing something.
Comment 8 Holger Hoffstätte 2018-09-05 23:17:29 UTC
(In reply to Sergei Trofimovich from comment #7)
> Are there any bug reports so people could work on a fix or at least be
> aware it's broken?

Not from me (yet). My boost deps were libreoffice (+deps), libtorrent-
rasterbar, nghttp2 & thin-provisioning-tools, though I don't remember
how many of them were actually affected (gave up after a few failures).

> I would expect Gentoo to have a tracker bug or any other way of
> tracking the effort. I don't see it now and assume I'm missing
> something.

AFAIK there is no tracker (open one?), but there is a parallel issue
for 1.68 (https://bugs.gentoo.org/653878), not yet in tree.
Maybe it would make more sense to skip 1.66/67 and directly migrate
to 1.68.
Comment 9 Andrew Waters 2018-11-14 19:13:46 UTC
I have been running with boost-1.67 for a few weeks now and, at the time unmasking later package versions allowing me to build everything I have which uses boost including libreoffice, nghttp2 and thin-provisioning and things seem stable.
Comment 10 Holger Hoffstätte 2018-11-14 22:05:13 UTC
(In reply to Andrew Waters from comment #9)
> I have been running with boost-1.67 for a few weeks now and, at the time
> unmasking later package versions allowing me to build everything I have
> which uses boost including libreoffice, nghttp2 and thin-provisioning and
> things seem stable.

Just did the same and can confirm that updating to newer versions has
helped with building everything that failed previously.
Only light testing so far but LibreOffice, libtorrent, nghttp2
indeed all seem to work. Thanks for the notice!
Comment 11 artbx 2018-12-21 23:17:40 UTC
In 1.67 it needs to be fixed for clang on x86

/usr/include/boost/atomic/detail/ops_gcc_x86_dcas.hpp:408
- static BOOST_FORCEINLINE storage_type load(const storage_type volatile& storage, memory_order) BOOST_NOEXCEPT

+ static BOOST_FORCEINLINE storage_type load(storage_type volatile& storage, memory_order) BOOST_NOEXCEPT

/usr/include/boost/atomic/detail/ops_gcc_x86_dcas.hpp:408:16: error: address argument to atomic builtin cannot be const-qualified ('const volatile boost::atomics::detail::gcc_dcas_x86_64::storage_type *' (aka 'const volatile unsigned __int128 *') invalid)
        return __sync_val_compare_and_swap(&storage, value, value);
Comment 12 Sergei Trofimovich (RETIRED) gentoo-dev 2018-12-21 23:27:56 UTC
(In reply to artbx from comment #11)
> In 1.67 it needs to be fixed for clang on x86
> 
> /usr/include/boost/atomic/detail/ops_gcc_x86_dcas.hpp:408
> - static BOOST_FORCEINLINE storage_type load(const storage_type volatile&
> storage, memory_order) BOOST_NOEXCEPT
> 
> + static BOOST_FORCEINLINE storage_type load(storage_type volatile& storage,
> memory_order) BOOST_NOEXCEPT
> 
> /usr/include/boost/atomic/detail/ops_gcc_x86_dcas.hpp:408:16: error: address
> argument to atomic builtin cannot be const-qualified ('const volatile
> boost::atomics::detail::gcc_dcas_x86_64::storage_type *' (aka 'const
> volatile unsigned __int128 *') invalid)
>         return __sync_val_compare_and_swap(&storage, value, value);

Do you have a link to upstream patch or bug report? Or a link to gentoo build failure? It will ease testing the fix.
Comment 13 Andrew Waters 2019-01-24 07:33:16 UTC
This external defect would seem to be https://github.com/boostorg/atomic/issues/15
Comment 14 Andrew Waters 2019-02-07 12:42:30 UTC
How can we move this forward?

The stable version is now 4 versions behind and the non-keyworded version is 2 versions behind.
Comment 15 Holger Hoffstätte 2019-03-12 16:39:10 UTC
(In reply to Andrew Waters from comment #14)
> How can we move this forward?
> 
> The stable version is now 4 versions behind and the non-keyworded version
> is 2 versions behind.

I just added a comment to https://bugs.gentoo.org/653878 wrt. 1.69.0;
IMHO it's much easier to skip straight to that version instead of having already outdated 1.66/1.67 versions in limbo forever.
Comment 16 David Seifert gentoo-dev 2019-04-12 15:10:40 UTC

*** This bug has been marked as a duplicate of bug 653878 ***