Boost logo

Boost :

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


Am 27.03.2017 um 11:11 schrieb Deniz Bahadir via Boost:
> Am 27.03.2017 um 11:03 schrieb Deniz Bahadir via Boost:
>> 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...
>>
>>
>
> Oh, and I forget to mention another observation:
> Why does the configuration summary state that Clang 3.8 does not support
> the "visibility" feature? I think that is just wrong.
>
> The configuration summary for Clang 3.8 looks like the following.
> (Except for the "visibility" feature it is the same for GCC 4.8 and GCC 6.)

One last correction: GCC seems to support "thread_local" other than
Clang 3.8.

>
>
> Performing configuration checks
>
> - 32-bit : no
> - 64-bit : yes
> - arm : no
> - mips1 : no
> - power : no
> - sparc : no
> - x86 : yes
> - symlinks supported : yes
> - C++11 mutex : yes
> - lockfree boost::atomic_flag : yes
> - Boost.Config Feature Check: cxx11_auto_declarations : yes
> - Boost.Config Feature Check: cxx11_constexpr : yes
> - Boost.Config Feature Check: cxx11_defaulted_functions : yes
> - Boost.Config Feature Check: cxx11_final : yes
> - Boost.Config Feature Check: cxx11_hdr_mutex : yes
> - Boost.Config Feature Check: cxx11_hdr_tuple : yes
> - Boost.Config Feature Check: cxx11_lambdas : yes
> - Boost.Config Feature Check: cxx11_noexcept : yes
> - Boost.Config Feature Check: cxx11_nullptr : yes
> - Boost.Config Feature Check: cxx11_rvalue_references : yes
> - Boost.Config Feature Check: cxx11_template_aliases : yes
> - Boost.Config Feature Check: cxx11_thread_local : no
> - Boost.Config Feature Check: cxx11_variadic_templates : yes
> - has_icu builds : yes
> warning: Graph library does not contain MPI-based parallel components.
> note: to enable them, add "using mpi ;" to your user-config.jam
> - zlib : yes
> - bzip2 : yes
> - iconv (libc) : yes
> - icu : yes
> - native-atomic-int32-supported : yes
> - native-syslog-supported : yes
> - pthread-supports-robust-mutexes : yes
> - compiler-supports-visibility : no
> - compiler-supports-ssse3 : yes
> - compiler-supports-avx2 : yes
> - gcc visibility : yes
> - long double support : yes
> warning: skipping optional Message Passing Interface (MPI) library.
> note: to enable MPI support, add "using mpi ;" to user-config.jam.
> note: to suppress this message, pass "--without-mpi" to bjam.
> note: otherwise, you can safely ignore this message.
> - zlib : yes
> - bzip2 : yes
>
> Component configuration:
>
> - atomic : building
> - chrono : building
> - container : building
> - context : building
> - coroutine : building
> - coroutine2 : building
> - date_time : building
> - exception : building
> - fiber : building
> - filesystem : building
> - graph : building
> - graph_parallel : building
> - iostreams : building
> - locale : building
> - log : building
> - math : building
> - metaparse : building
> - mpi : building
> - program_options : building
> - python : building
> - random : building
> - regex : building
> - serialization : building
> - signals : building
> - system : building
> - test : building
> - thread : building
> - timer : building
> - type_erasure : building
> - wave : building
>
> ...patience...
>
> _______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost


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