Boost logo

Boost :

Subject: Re: [boost] Boost 1_59_0_b1_rc1 is available for testing
From: Deniz Bahadir (dbahadir_at_[hidden])
Date: 2015-07-14 21:24:03


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>

Best regards,
Deniz


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