Boost logo

Boost :

Subject: Re: [boost] Boost 1.65.0 Release Candidate 1
From: Marshall Clow (mclow.lists_at_[hidden])
Date: 2017-08-07 00:04:25


On Sun, Aug 6, 2017 at 3:59 PM, Raffi Enficiaud via Boost <
boost_at_[hidden]> wrote:

> Le 07.08.17 à 00:04, Tom Westerhout via Boost a écrit :
>
>> On 06/08/2017, Marshall Clow via Boost <boost_at_[hidden]> wrote:
>>
>>> The release candidates for the 1.65.0 release are now available at:
>>>
>>> https://dl.bintray.com/boostorg/release/1.65.0/source/
>>>
>>> The SHA256 checksums are as follows:
>>>
>>> 0f1352a7738f24b39b564263b66a8c38bc7d984b57406396400474602e961ad3
>>> boost_1_65_0_rc1.7z
>>> c2a022d4d6706668ea94b8e799a76e38929e0e34db884ef451fa9d5db6103238
>>> boost_1_65_0_rc1.tar.bz2
>>> 7e84a27276792209d48357a0671348768dbf4dd1d4eadbf01b855274208f148d
>>> boost_1_65_0_rc1.tar.gz
>>> 537c42771b2351b4ea3eb8e9a13a3423edcd155323d2c14c4606cd23fc22d09f
>>> boost_1_65_0_rc1.zip
>>>
>>> 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.
>>>
>>
>> Sure. I've tried building on Linux 3.16 with GCC-7.1.0 and Clang-trunk:
>>
>> * Clang-trunk (-std=c++1z -stdlib=libc++)
>>
>> 1) Boost.Test failed. There's no bind1st in std:: anymore. Neither is
>> there a random_shuffle.
>>
>
> The calls to random_shuffle are protected by
> #ifdef BOOST_NO_CXX98_RANDOM_SHUFFLE
>
> and the ones of bind1st by
> #ifdef BOOST_NO_CXX98_BINDERS
>
> Those preprocessor checks looked ok to me, what am I missing?
>
>
As a test, I added the following lines to
libs/config/include/boost/config/stdlib/libcpp.hpp (after line 98):
#if (_LIBCPP_VERSION > 4000) && (__cplusplus > 201402L) &&
!defined(_LIBCPP_ENABLE_CXX17_REMOVED_RANDOM_SHUFFLE)
# define BOOST_NO_CXX98_RANDOM_SHUFFLE
#endif
#if (_LIBCPP_VERSION > 4000) && (__cplusplus > 201402L) &&
!defined(_LIBCPP_ENABLE_CXX17_REMOVED_RANDOM_SHUFFLE)
# define BOOST_NO_CXX98_BINDERS
#endif

and the number of failures dropped quite a bit (66 to 23)

There was still few Boost.Test failures, though:

clang-darwin.compile.c++
bin.v2/libs/test/build/clang-darwin-tot1z/release/threading-multi/unit_test_parameters.o
In file included from libs/test/src/unit_test_parameters.cpp:16:
In file included from ./boost/test/impl/unit_test_parameters.ipp:39:
In file included from ./boost/test/utils/runtime/cla/parser.hpp:24:
./boost/test/utils/algorithm.hpp:118:42: error: no member named 'bind1st'
in namespace 'std'
        if( std::find_if( first2, last2, BOOST_TEST_BIND1ST( pred, *first1
) ) == last2 )
                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./boost/test/utils/algorithm.hpp:25:38: note: expanded from macro
'BOOST_TEST_BIND1ST'
#define BOOST_TEST_BIND1ST(F,A) std::bind1st( (F), (A) )
                                ~~~~~^
./boost/test/utils/algorithm.hpp:168:60: error: no member named 'bind1st'
in namespace 'std'
    while( --it1 != first1 && std::find_if( first2, last2,
BOOST_TEST_BIND1ST( pred, *it1 ) ) == last2 ) {}

 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./boost/test/utils/algorithm.hpp:25:38: note: expanded from macro
'BOOST_TEST_BIND1ST'
#define BOOST_TEST_BIND1ST(F,A) std::bind1st( (F), (A) )
                                ~~~~~^
./boost/test/utils/algorithm.hpp:170:58: error: no member named 'bind1st'
in namespace 'std'
    return it1 == first1 && std::find_if( first2, last2,
BOOST_TEST_BIND1ST( pred, *it1 ) ) == last2 ? last1 : it1;

 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./boost/test/utils/algorithm.hpp:25:38: note: expanded from macro
'BOOST_TEST_BIND1ST'
#define BOOST_TEST_BIND1ST(F,A) std::bind1st( (F), (A) )
                                ~~~~~^
./boost/test/utils/algorithm.hpp:215:60: error: no member named 'bind1st'
in namespace 'std'
    while( --it1 != first1 && std::find_if( first2, last2,
BOOST_TEST_BIND1ST( pred, *it1 ) ) != last2 ) {}

 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./boost/test/utils/algorithm.hpp:25:38: note: expanded from macro
'BOOST_TEST_BIND1ST'
#define BOOST_TEST_BIND1ST(F,A) std::bind1st( (F), (A) )
                                ~~~~~^
./boost/test/utils/algorithm.hpp:217:58: error: no member named 'bind1st'
in namespace 'std'
    return it1 == first1 && std::find_if( first2, last2,
BOOST_TEST_BIND1ST( pred, *it1 ) ) == last2 ? last1 : it1;

 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./boost/test/utils/algorithm.hpp:25:38: note: expanded from macro
'BOOST_TEST_BIND1ST'
#define BOOST_TEST_BIND1ST(F,A) std::bind1st( (F), (A) )
                                ~~~~~^
5 errors generated.

    "/Sources/LLVM/bin/bin/clang++" -x c++ -Wno-c99-extensions
-Wno-variadic-macros -std=c++1z -stdlib=libc++ -I
/Sources/LLVM/llvm/projects/libcxx -O3 -O3 -Wno-inline -Wall -pedantic
-DBOOST_ALL_NO_LIB=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_SYSTEM_DYN_LINK=1
-DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_TEST_DYN_LINK=1
-DBOOST_TIMER_DYN_LINK=1 -DNDEBUG -I"." -c -o
"bin.v2/libs/test/build/clang-darwin-tot1z/release/threading-multi/unit_test_parameters.o"
"libs/test/src/unit_test_parameters.cpp"

...failed clang-darwin.compile.c++
bin.v2/libs/test/build/clang-darwin-tot1z/release/threading-multi/unit_test_parameters.o...

-- and --

clang-darwin.compile.c++
bin.v2/libs/test/build/clang-darwin-tot1z/release/threading-multi/framework.o
In file included from libs/test/src/framework.cpp:16:
./boost/test/impl/framework.ipp:745:30: error: no member named
'random_shuffle' in namespace 'std'
                        std::random_shuffle(
children_with_the_same_rank.begin(), children_with_the_same_rank.end(),
rand_gen );
                        ~~~~~^
1 error generated.

    "/Sources/LLVM/bin/bin/clang++" -x c++ -Wno-c99-extensions
-Wno-variadic-macros -std=c++1z -stdlib=libc++ -I
/Sources/LLVM/llvm/projects/libcxx -O3 -O3 -Wno-inline -Wall -pedantic
-DBOOST_ALL_NO_LIB=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_SYSTEM_DYN_LINK=1
-DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_TEST_DYN_LINK=1
-DBOOST_TIMER_DYN_LINK=1 -DNDEBUG -I"." -c -o
"bin.v2/libs/test/build/clang-darwin-tot1z/release/threading-multi/framework.o"
"libs/test/src/framework.cpp"

...failed clang-darwin.compile.c++
bin.v2/libs/test/build/clang-darwin-tot1z/release/threading-multi/framework.o...

These *may* (I haven't traced it yet) be due to the configuration header
didn't get included in this case.

-- Marshall


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