Boost logo

Boost Users :

Subject: Re: [Boost-users] [boost] Boost 1_59_0_b1_rc1 is available for testing
From: Edward Diener (eldiener_at_[hidden])
Date: 2015-07-14 22:59:29


On 7/14/2015 9:24 PM, Deniz Bahadir wrote:
> Am 14.07.2015 um 05:54 schrieb Marshall Clow:
>> Release candidate files for 1.59.0 beta 1 are available at
>> http://boost.cowic.de/rc/
>>
>> As always, the release managers would appreciate it if you download
>> the candidate of your choice and give building it a try. Please report
>> both success and failure, and anything else that is noteworthy.
>>
>> This helps ensure the candidates build OK before we push them out to
>> SourceForge.
>>
>> The files (and associated md5s) are:
>> MD5 (boost_1_59_0_b1_rc1.7z) = f54a97e5ee7f8e3d04cd9af8396e30f9
>> MD5 (boost_1_59_0_b1_rc1.tar.bz2) =
>> 9804305aae0c9de9f8cfc02e3de75167
>> MD5 (boost_1_59_0_b1_rc1.tar.gz) =
>> e584770bd76885c123a0426d24466fe2
>> MD5 (boost_1_59_0_b1_rc1.zip) = ee34f223aa789a6b3f727cb9480651ed
>>
>> Thanks!
>>
>> -- The release managers
>>
>
>
> These are the results for compiling Boost 1.59.0-beta1-RC1 on
> Debian 7 (64 bit):
>
>
> Success for the following compilers and settings:
> * GCC-4.8 with C++11
> * GCC-4.9 with C++11
> * GCC-5.1 with C++14
> * Clang-3.5 with C++14 and libc++
>
>
> Failure for the following compilers and settings:
> * GCC-4.8 with C++11 and preprocessed MPL-Headers (up to 100 elements)
> * GCC-4.9 with C++11 and preprocessed MPL-Headers (up to 100 elements)
> * GCC-5.1 with C++14 and preprocessed MPL-Headers (up to 100 elements)
> * Clang-3.5 with C++14 and preprocessed MPL-Headers (up to 100 elements)
>
> Note1: The MPL-Headers were preprocessed using the scripts in
> libs/mpl/preprocessed. (See:
> https://svn.boost.org/trac/boost/ticket/11224 and
> https://github.com/boostorg/mpl/pull/20 and
> https://github.com/boostorg/mpl/pull/21)
>
> Note2: See further down for the error-message and the bugfix.
>
> Note3: With the bugfix, everything compiles smoothly!
>
>
> I used the following Boost.Build command:
>
> <VERBATIM>
>
> b2 -j4 -q
> --build-dir=/tmp/TEST-Boost \
> --build-type=complete \
> --layout=versioned \
> address-model=64 \
> install \
> --prefix="/opt/TEST-Boost" \
> toolset=${TOOLSET} \
> cflags="-fPIC" \
> cxxflags="-fPIC -std=${CXX_STD} ${STDLIB}" \
> dll-path="/opt/TEST-Boost/lib/x86_64-linux-gnu"
>
> </VERBATIM>
>
> with ${TOOLSET} being one of: gcc-4.8 gcc-4.9 gcc-5 clang-3.5
> with ${CXX_STD} being one of: c++11 c++14
> with ${CXX_STDLIB} being empty for GCC and for Clang: -stdlib=libc++
>
>
> Boost.Build prints the following configuration-result:
>
> <VERBATIM>
>
> Performing configuration checks
>
> - 32-bit : no
> - 64-bit : yes
> - arm : no
> - mips1 : no
> - power : no
> - sparc : no
> - x86 : yes
> - lockfree boost::atomic_flag : 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
> - iconv (libc) : yes
> - icu : yes
> - compiler-supports-visibility : yes
> - 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 (cached)
> - zlib : yes (cached)
> - zlib : yes (cached)
> - zlib : yes
> - zlib : yes (cached)
> - zlib : yes (cached)
> - zlib : yes (cached)
> - zlib : yes (cached)
> - zlib : yes (cached)
> - zlib : yes (cached)
> - zlib : yes (cached)
>
> Component configuration:
>
> - atomic : building
> - chrono : building
> - container : building
> - context : building
> - coroutine : building
> - date_time : building
> - exception : building
> - filesystem : building
> - graph : building
> - graph_parallel : building
> - iostreams : building
> - locale : building
> - log : building
> - math : building
> - mpi : building
> - program_options : building
> - python : building
> - random : building
> - regex : building
> - serialization : building
> - signals : building
> - system : building
> - test : building
> - thread : building
> - timer : building
> - wave : building
>
> </VERBATIM>
>
>
> The error-messages with preprocessed MPl-headers:
>
> <VERBATIM>
>
> gcc.compile.c++
> /home/jenkins/workspace/TEST_Boost_1_59_0_b1_rc1/build/boost/bin.v2/libs/log/build/gcc-5/debug/link-static/log-api-unix/threading-multi/default_formatter_factory.o
>
> In file included from ./boost/mpl/aux_/include_preprocessed.hpp:37:0,
> from ./boost/mpl/vector.hpp:46,
> from libs/log/src/default_formatter_factory.cpp:21:
> ./boost/mpl/aux_/preprocessed/gcc/vector.hpp:1281:15: error: expected
> template-name before ‘<’ token
> : vector51<
> ^
> ./boost/mpl/aux_/preprocessed/gcc/vector.hpp:1281:15: error: expected
> ‘{’ before ‘<’ token
> ./boost/mpl/aux_/preprocessed/gcc/vector.hpp:1281:15: error: expected
> unqualified-id before ‘<’ token
> ./boost/mpl/aux_/preprocessed/gcc/vector.hpp:1313:15: error: expected
> template-name before ‘<’ token
> : vector52<
> ^
> ./boost/mpl/aux_/preprocessed/gcc/vector.hpp:1313:15: error: expected
> ‘{’ before ‘<’ token
> ./boost/mpl/aux_/preprocessed/gcc/vector.hpp:1313:15: error: expected
> unqualified-id before ‘<’ token
> ./boost/mpl/aux_/preprocessed/gcc/vector.hpp:1345:15: error: expected
> template-name before ‘<’ token
> : vector53<
> ^
> [...]
>
> </VERBATIM>
>
> The reasons seems to be that "default_formatter_factory.cpp" does not
> use the original value of BOOST_MPL_LIMIT_VECTOR_SIZE, but instead
> replaces it with 50, but is not defining
> BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS.
>
> A working bugfix is to define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
> before undef-ing and re-defining BOOST_MPL_LIMIT_VECTOR_SIZE.
>
>
>
> BTW: When compiling with C++11 and C++14 hundreds of warnings will be
> generated because of deprecated "auto_ptr". I would recommend hiding
> these warning when compiling with C++11/C++14, because they clutter the
> entire output. (Fixing the warnings would be preferred, but I am not
> sure if this is really possible.)
>
> <VERBATIM>
>
> [...]
> gcc.compile.c++
> /home/jenkins/workspace/TEST_Boost_1_59_0_b1_rc1/build/boost/bin.v2/libs/context/build/gcc-5/debug/link-static/threading-multi/posix/stack_traits.o
>
> In file included from ./boost/smart_ptr/shared_ptr.hpp:28:0,
> from ./boost/shared_ptr.hpp:17,
> from ./boost/date_time/time_clock.hpp:17,
> from ./boost/thread/thread_time.hpp:9,
> from ./boost/thread/lock_types.hpp:18,
> from ./boost/thread/pthread/thread_data.hpp:12,
> from ./boost/thread/thread_only.hpp:17,
> from ./boost/thread/thread.hpp:12,
> from ./boost/thread.hpp:13,
> from libs/context/src/posix/stack_traits.cpp:23:
> ./boost/smart_ptr/detail/shared_count.hpp:396:33: warning:
> ‘template<class> class std::auto_ptr’ is deprecated
> [-Wdeprecated-declarations]
> explicit shared_count( std::auto_ptr<Y> & r ): pi_( new
> sp_counted_impl_p<Y>( r.get() ) )
> ^
> In file included from /usr/include/c++/5/memory:81:0,
> from ./boost/config/no_tr1/memory.hpp:21,
> from ./boost/smart_ptr/shared_ptr.hpp:23,
> from ./boost/shared_ptr.hpp:17,
> from ./boost/date_time/time_clock.hpp:17,
> from ./boost/thread/thread_time.hpp:9,
> from ./boost/thread/lock_types.hpp:18,
> from ./boost/thread/pthread/thread_data.hpp:12,
> from ./boost/thread/thread_only.hpp:17,
> from ./boost/thread/thread.hpp:12,
> from ./boost/thread.hpp:13,
> from libs/context/src/posix/stack_traits.cpp:23:
> /usr/include/c++/5/bits/unique_ptr.h:49:28: note: declared here
> template<typename> class auto_ptr;
> ^
> In file included from ./boost/shared_ptr.hpp:17:0,
> from ./boost/date_time/time_clock.hpp:17,
> from ./boost/thread/thread_time.hpp:9,
> from ./boost/thread/lock_types.hpp:18,
> from ./boost/thread/pthread/thread_data.hpp:12,
> from ./boost/thread/thread_only.hpp:17,
> from ./boost/thread/thread.hpp:12,
> from ./boost/thread.hpp:13,
> from libs/context/src/posix/stack_traits.cpp:23:
> ./boost/smart_ptr/shared_ptr.hpp:249:65: warning: ‘template<class>
> class std::auto_ptrÂ’ is deprecated [-Wdeprecated-declarations]
> template< class T, class R > struct sp_enable_if_auto_ptr<
> std::auto_ptr< T >, R >
> ^
> [...]
>
> </VERBATIM>

The changes in MPL on 'develop' which fixed your bug never was applied
to the 'master' branch. I take some responsibility for that as I was the
one who discussed with you and approved the fix on 'develop'.

As a matter of fact their are quite a few updates to MPL on 'develop' to
fix MPL bugs, among which your fix is one of them and Bruno Dutra's
fixes are others, which have been extensively regression tested on
'develop' but which were not merged to 'master' for the upcoming
release. While I fell asleep regarding this I am not the only one with
write access to MPL and in fact the community maintenance team also has
write access to MPL and no one there thought of merging MPL 'develop' to
'master' in time for 'master' regression testing and therefore having
these fixes be in the upcoming release.

Because MPL is so central to everything it seems it is too late to get
these fixes into 'master', have the regression tested on 'master' and
into the upcoming release at this point.


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net