Boost logo

Boost :

Subject: Re: [boost] [release] Boost 1.64.0 Beta 1
From: Deniz Bahadir (dbahadir_at_[hidden])
Date: 2017-03-27 09:03:21


Am 23.03.2017 um 15:11 schrieb Rene Rivera via Boost:
> Boost release 1.64.0 beta 1 is now available at:
>
> [...]
>
> Please download the beta, give it a try, and report any problems you
> encounter.

I tried compiling it on an Ubuntu 16.04 (x86_64) machine with the
following compilers:

* GCC 4.8 with C++11 (and libstdc++)
* GCC 6 with C++14 (and libstdc++)
* Clang 3.8 with C++14 and libc++

GCC 6 and Clang 3.8 succeeded, GCC 4.8 failed. The error can be seen at
the end of this email.

Additionally, I realized two other problems:

1.
Using Boost.Build option "--build-type=complete" does not work (only
"-build-type=minimal" works). Before compilation even started it fails
like this:

error: Name clash for
'<p/home/jenkins/workspace/TEST_Boost_Build/gcc48/installed/opt/BENOCS/gcc48/lib/x86_64-linux-gnu>libboost_atomic-gcc48-mt-d-1_64.a'
error:
error: Tried to build the target twice, with property sets having
error: these incompatible properties:
error:
error: - <dll-path>/opt/BENOCS/gcc48/bin
error: - none
error:
error: Please make sure to have consistent requirements for these
error: properties everywhere in your project, especially for install
error: targets.

2.
The other problem is not specific to this Boost beta but instead existed
from the beginning. When using Boost-Build option "--layout=versioned"
the generated libraries' names should contain the compiler-tag and its
version. However, this stopped working for GCC since the release of GCC
5. It now misses the compiler's version.
I assume it has something to do with GCC changing its version-scheme
where the major-version is increased for each new compiler release.

Hope that helps,
Deniz Bahadir

PS: The following is the error output when compiling with GCC 4.8:

common.mkdir
/home/jenkins/workspace/TEST_Boost_Build/gcc48/build/boost/boost/bin.v2/libs/fiber
common.mkdir
/home/jenkins/workspace/TEST_Boost_Build/gcc48/build/boost/boost/bin.v2/libs/fiber/build
common.mkdir
/home/jenkins/workspace/TEST_Boost_Build/gcc48/build/boost/boost/bin.v2/libs/fiber/build/gcc-4.8
common.mkdir
/home/jenkins/workspace/TEST_Boost_Build/gcc48/build/boost/boost/bin.v2/libs/fiber/build/gcc-4.8/release
common.mkdir
/home/jenkins/workspace/TEST_Boost_Build/gcc48/build/boost/boost/bin.v2/libs/fiber/build/gcc-4.8/release/link-static
common.mkdir
/home/jenkins/workspace/TEST_Boost_Build/gcc48/build/boost/boost/bin.v2/libs/fiber/build/gcc-4.8/release/link-static/threading-multi
common.mkdir
/home/jenkins/workspace/TEST_Boost_Build/gcc48/build/boost/boost/bin.v2/libs/fiber/build/gcc-4.8/release/link-static/threading-multi/algo
gcc.compile.c++
/home/jenkins/workspace/TEST_Boost_Build/gcc48/build/boost/boost/bin.v2/libs/fiber/build/gcc-4.8/release/link-static/threading-multi/algo/algorithm.o
gcc.compile.c++
/home/jenkins/workspace/TEST_Boost_Build/gcc48/build/boost/boost/bin.v2/libs/fiber/build/gcc-4.8/release/link-static/threading-multi/algo/round_robin.o
gcc.compile.c++
/home/jenkins/workspace/TEST_Boost_Build/gcc48/build/boost/boost/bin.v2/libs/fiber/build/gcc-4.8/release/link-static/threading-multi/algo/shared_work.o
gcc.compile.c++
/home/jenkins/workspace/TEST_Boost_Build/gcc48/build/boost/boost/bin.v2/libs/fiber/build/gcc-4.8/release/link-static/threading-multi/algo/work_stealing.o
gcc.compile.c++
/home/jenkins/workspace/TEST_Boost_Build/gcc48/build/boost/boost/bin.v2/libs/fiber/build/gcc-4.8/release/link-static/threading-multi/barrier.o
gcc.compile.c++
/home/jenkins/workspace/TEST_Boost_Build/gcc48/build/boost/boost/bin.v2/libs/fiber/build/gcc-4.8/release/link-static/threading-multi/condition_variable.o
gcc.compile.c++
/home/jenkins/workspace/TEST_Boost_Build/gcc48/build/boost/boost/bin.v2/libs/fiber/build/gcc-4.8/release/link-static/threading-multi/context.o
libs/fiber/src/context.cpp: In constructor
‘boost::fibers::context::context(boost::fibers::dispatcher_context_t,
const boost::context::preallocated&, const default_stack&,
boost::fibers::scheduler*)’:
libs/fiber/src/context.cpp:230:14: error: call of overloaded
‘callcc(const std::allocator_arg_t&, const
boost::context::preallocated&, const default_stack&,
boost::fibers::context::context(boost::fibers::dispatcher_context_t,
const boost::context::preallocated&, const default_stack&,
boost::fibers::scheduler*)::__lambda5)’ is ambiguous
              });
               ^
libs/fiber/src/context.cpp:230:14: note: candidates are:
In file included from ./boost/fiber/context.hpp:27:0,
                  from libs/fiber/src/context.cpp:7:
./boost/context/continuation.hpp:468:1: note:
boost::context::continuation
boost::context::callcc(std::allocator_arg_t, StackAlloc, Fn&&, Arg ...)
[with StackAlloc = boost::context::preallocated; Fn = const
boost::context::basic_fixedsize_stack<boost::context::stack_traits>&;
Arg =
{boost::fibers::context::context(boost::fibers::dispatcher_context_t,
const boost::context::preallocated&, const default_stack&,
boost::fibers::scheduler*)::__lambda5}]
  callcc( std::allocator_arg_t, StackAlloc salloc, Fn && fn, Arg ... arg) {
  ^
./boost/context/continuation.hpp:482:1: note:
boost::context::continuation
boost::context::callcc(std::allocator_arg_t,
boost::context::preallocated, StackAlloc, Fn&&, Arg ...) [with
StackAlloc =
boost::context::basic_fixedsize_stack<boost::context::stack_traits>; Fn
= boost::fibers::context::context(boost::fibers::dispatcher_context_t,
const boost::context::preallocated&, const default_stack&,
boost::fibers::scheduler*)::__lambda5; Arg = {}]
  callcc( std::allocator_arg_t, preallocated palloc, StackAlloc salloc,
Fn && fn, Arg ... arg) {
  ^
./boost/context/continuation.hpp:513:1: note:
boost::context::continuation
boost::context::callcc(std::allocator_arg_t,
boost::context::preallocated, StackAlloc, Fn&&) [with StackAlloc =
boost::context::basic_fixedsize_stack<boost::context::stack_traits>; Fn
= boost::fibers::context::context(boost::fibers::dispatcher_context_t,
const boost::context::preallocated&, const default_stack&,
boost::fibers::scheduler*)::__lambda5]
  callcc( std::allocator_arg_t, preallocated palloc, StackAlloc salloc,
Fn && fn) {
  ^
./boost/context/continuation.hpp:456:1: note:
boost::context::continuation boost::context::callcc(Fn&&, Arg ...) [with
Fn = const std::allocator_arg_t&; Arg = {boost::context::preallocated,
boost::context::basic_fixedsize_stack<boost::context::stack_traits>,
boost::fibers::context::context(boost::fibers::dispatcher_context_t,
const boost::context::preallocated&, const default_stack&,
boost::fibers::scheduler*)::__lambda5}; <template-parameter-1-3> = void]
  callcc( Fn && fn, Arg ... arg) {
  ^

     "g++-4.8" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline
-Wall -pthread -m64 -m64 -fpic -std=c++11 -m64 -fpic
-DBOOST_ALL_NO_LIB=1 -DBOOST_DISABLE_ASSERTS -DBOOST_FIBERS_SOURCE
-DNDEBUG -I"." -c -o
"/home/jenkins/workspace/TEST_Boost_Build/gcc48/build/boost/boost/bin.v2/libs/fiber/build/gcc-4.8/release/link-static/threading-multi/context.o"
"libs/fiber/src/context.cpp"

...failed gcc.compile.c++
/home/jenkins/workspace/TEST_Boost_Build/gcc48/build/boost/boost/bin.v2/libs/fiber/build/gcc-4.8/release/link-static/threading-multi/context.o...
...failed updating 1 target...
...updated 13574 targets...


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk