Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 546882 - dev-libs/boost-1.55.0-r2 fails to build with GCC 5.1
Summary: dev-libs/boost-1.55.0-r2 fails to build with GCC 5.1
Status: RESOLVED TEST-REQUEST
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GCC Porting (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: C++ Team [disbanded]
URL:
Whiteboard:
Keywords:
: 548336 555580 555952 (view as bug list)
Depends on: 554712
Blocks: gcc-5
  Show dependency tree
 
Reported: 2015-04-17 06:53 UTC by Marek Bartosiewicz
Modified: 2015-07-27 13:09 UTC (History)
6 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 Marek Bartosiewicz 2015-04-17 06:53:59 UTC
boost-1.55.0-r2 does not build with gcc5.

Patch taken from here: https://bugs.freebsd.org/bugzilla/attachment.cgi?id=153273&action=diff

Reproducible: Always




--- boost/thread/pthread/once.hpp.orig  2013-03-23 01:48:21 UTC
+++ boost/thread/pthread/once.hpp
@@ -42,7 +42,7 @@ namespace boost
   }

 #ifdef BOOST_THREAD_PROVIDES_ONCE_CXX11
-#ifndef BOOST_NO_CXX11_VARIADIC_TEMPLATES
+#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
     template<typename Function, class ...ArgTypes>
     inline void call_once(once_flag& flag, BOOST_THREAD_RV_REF(Function) f, BOOST_THREAD_RV_REF(ArgTypes)... args);
 #else
@@ -65,7 +65,7 @@ namespace boost
   private:
       volatile thread_detail::uintmax_atomic_t epoch;

-#ifndef BOOST_NO_CXX11_VARIADIC_TEMPLATES
+#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
       template<typename Function, class ...ArgTypes>
       friend void call_once(once_flag& flag, BOOST_THREAD_RV_REF(Function) f, BOOST_THREAD_RV_REF(ArgTypes)... args);
 #else
@@ -118,7 +118,7 @@ namespace boost
     // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2444.html


-#ifndef BOOST_NO_CXX11_VARIADIC_TEMPLATES
+#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)


   template<typename Function, class ...ArgTypes>
--- boost/thread/pthread/once_atomic.hpp.orig   2013-03-23 01:48:21 UTC
+++ boost/thread/pthread/once_atomic.hpp
@@ -115,7 +115,7 @@ namespace boost
 #endif


-#ifndef BOOST_NO_CXX11_VARIADIC_TEMPLATES
+#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)

   template<typename Function, class ...ArgTypes>
   inline void call_once(once_flag& flag, BOOST_THREAD_RV_REF(Function) f, BOOST_THREAD_RV_REF(ArgTypes)... args)
Comment 1 Arfrever Frehtes Taifersar Arahesis 2015-04-17 20:17:46 UTC
Is this problem reproducible with Boost 1.56.0 or 1.57.0?
Comment 2 Marek Bartosiewicz 2015-04-18 04:32:53 UTC
I'm goint to check that during the weekend.
But in the original bug report (https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=197594) one can read: "The following problem was already fixed version 1.56 and 1.57 is the current release" so the chances are everything should be OK.
Comment 3 Marek Bartosiewicz 2015-04-18 06:42:33 UTC
I need to temporarily unmerge libreoffice-bin:

[ebuild   R    ] dev-libs/boost-1.55.0-r2:0/1.55.0  USE="nls threads -context -debug -doc -icu -mpi -python -static-libs -tools" ABI_X86="(64) -32 (-x32)" PYTHON_TARGETS="python2_7 python3_3 -python3_4" 56784 KiB

Total: 1 package (1 reinstall), Size of downloads: 56784 KiB

WARNING: One or more updates/rebuilds have been skipped due to a dependency conflict:

dev-libs/boost:0

  (dev-libs/boost-1.56.0-r1:0/1.56.0::gentoo, ebuild scheduled for merge) conflicts with
    >=dev-libs/boost-1.55:0/1.55.0= required by (app-office/libreoffice-bin-4.4.1.2:0/0::gentoo, installed)
                         ^^^^^^^^^^
    dev-libs/boost:0/1.55.0 required by (app-office/libreoffice-bin-4.4.1.2:0/0::gentoo, installed)
                  ^^^^^^^^^
Comment 4 Marek Bartosiewicz 2015-04-18 06:54:26 UTC
dev-libs/boost-1.56.0-r1 emerged OK with gcc5.

boost-1.57 is masked in portage, so I'll skip it.
Comment 5 Barnaby 2015-05-05 13:26:00 UTC
*** Bug 548336 has been marked as a duplicate of this bug. ***
Comment 6 Ryan Hill (RETIRED) gentoo-dev 2015-07-07 03:54:34 UTC
Later versions do work, but we still need 1.55 fixed since libreoffice-bin depends on it.
Comment 7 Sergey Popov gentoo-dev 2015-07-13 08:25:35 UTC
Unfortunately, suggested fix is not enough to build Boost 1.55 in Gentoo. 

Looking at bug #522474 i see that we have pretty low count of packages, that does not build with 1.56, so i will open stable request for Boost 1.56, where this bug is definitely fixed
Comment 8 Sergey Popov gentoo-dev 2015-07-27 09:42:29 UTC
*** Bug 555952 has been marked as a duplicate of this bug. ***
Comment 9 Sergey Popov gentoo-dev 2015-07-27 13:09:23 UTC
+  27 Jul 2015; Sergey Popov <pinkbyte@gentoo.org> boost-1.55.0-r2.ebuild,
+  boost-1.56.0-r1.ebuild, +files/boost-1.55.0-variadic-templates.patch:
+  Fix building with USE=context and GCC 5.1 and higher, wrt bugs #546882 and
+  #555580

I have backported some fixes, so it should be able to build 1.55 with newer GCC too. Please check(or update to 1.56)
Comment 10 Sergey Popov gentoo-dev 2015-07-27 13:09:44 UTC
*** Bug 555580 has been marked as a duplicate of this bug. ***