Opened 22 months ago
Closed 22 months ago
#71647 closed defect (fixed)
boost176 broken by C++17 migration: error: '__and_' was not declared in this scope; did you mean 'std::__and_'?
| Reported by: | barracuda156 | Owned by: | mascguy (Christopher Nielsen) |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | ports | Version: | 2.10.5 |
| Keywords: | haspatch | Cc: | michaelld (Michael Dickens) |
| Port: | boost176 |
Description (last modified by barracuda156)
So the last move to C++17 did break Boost 1.76:
"/opt/local/bin/g++-mp-14" -dynamiclib -Wl,-single_module -install_name "/opt/local/libexec/boost/1.76/lib/libboost_nowide-mt.dylib" -o "bin.v2/libs/nowide/build/darwin-14.2.0/release/threading-multi/visibility-hidden/libboost_nowide-mt.dylib" "bin.v2/libs/nowide/build/darwin-14.2.0/release/threading-multi/visibility-hidden/cstdio.o" "bin.v2/libs/nowide/build/darwin-14.2.0/release/threading-multi/visibility-hidden/cstdlib.o" "bin.v2/libs/nowide/build/darwin-14.2.0/release/threading-multi/visibility-hidden/filebuf.o" "bin.v2/libs/nowide/build/darwin-14.2.0/release/threading-multi/visibility-hidden/iostream.o" "bin.v2/libs/nowide/build/darwin-14.2.0/release/threading-multi/visibility-hidden/stat.o" -headerpad_max_install_names -fPIC -m32 -fvisibility=hidden -fvisibility-inlines-hidden -Wl,-dead_strip -no_dead_strip_inits_and_terms -L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-rpath,/opt/local/lib/libgcc -arch ppc
common.copy /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_boost176/boost176/work/boost_1_76_0/stage/lib/libboost_nowide-mt.dylib
cp "bin.v2/libs/nowide/build/darwin-14.2.0/release/threading-multi/visibility-hidden/libboost_nowide-mt.dylib" "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_boost176/boost176/work/boost_1_76_0/stage/lib/libboost_nowide-mt.dylib"
common.mkdir bin.v2/libs/program_options
mkdir -p "bin.v2/libs/program_options"
common.mkdir bin.v2/libs/program_options/build
mkdir -p "bin.v2/libs/program_options/build"
common.mkdir bin.v2/libs/program_options/build/darwin-14.2.0
mkdir -p "bin.v2/libs/program_options/build/darwin-14.2.0"
common.mkdir bin.v2/libs/program_options/build/darwin-14.2.0/release
mkdir -p "bin.v2/libs/program_options/build/darwin-14.2.0/release"
common.mkdir bin.v2/libs/program_options/build/darwin-14.2.0/release/threading-multi
mkdir -p "bin.v2/libs/program_options/build/darwin-14.2.0/release/threading-multi"
common.mkdir bin.v2/libs/program_options/build/darwin-14.2.0/release/threading-multi/visibility-hidden
mkdir -p "bin.v2/libs/program_options/build/darwin-14.2.0/release/threading-multi/visibility-hidden"
darwin.compile.c++.pch bin.v2/libs/math/build/pch/darwin-14.2.0/release/threading-multi/visibility-hidden/../src/tr1/pch.hpp.gch
"/opt/local/bin/g++-mp-14" -x c++-header -fvisibility-inlines-hidden -Os -std=gnu++17 -Wno-enum-constexpr-conversion -Wno-unknown-warning-option -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc -fPIC -m32 -O3 -Wall -fvisibility=hidden -dynamic -gdwarf-2 -fexceptions -Wno-inline -DBOOST_ALL_NO_LIB=1 -DBOOST_BUILD_PCH_ENABLED -DBOOST_MATH_TR1_DYN_LINK=1 -DNDEBUG -I"." -I"libs/math/src/tr1" -c -o "bin.v2/libs/math/build/pch/darwin-14.2.0/release/threading-multi/visibility-hidden/../src/tr1/pch.hpp.gch" "libs/math/build/../src/tr1/pch.hpp"
In file included from ./boost/math/tools/mp.hpp:341,
from ./boost/math/policies/policy.hpp:11,
from ./boost/math/special_functions/math_fwd.hpp:31,
from ./boost/math/special_functions/airy.hpp:11,
from ./boost/math/special_functions.hpp:15,
from libs/math/build/../src/tr1/pch.hpp:9:
/opt/local/include/gcc14/c++/utility:108:14: error: '__and_' was not declared in this scope; did you mean 'std::__and_'?
108 | noexcept(__and_<is_nothrow_move_constructible<_Tp>,
| ^~~~~~
| std::__and_
In file included from /opt/local/include/gcc14/c++/bits/stl_pair.h:60,
from /opt/local/include/gcc14/c++/bits/stl_algobase.h:64,
from /opt/local/include/gcc14/c++/vector:62,
from ./boost/math/special_functions/math_fwd.hpp:26:
/opt/local/include/gcc14/c++/type_traits:198:12: note: 'std::__and_' declared here
198 | struct __and_
| ^~~~~~
/opt/local/include/gcc14/c++/utility:108:21: error: 'is_nothrow_move_constructible' was not declared in this scope; did you mean 'std::is_nothrow_move_constructible'?
108 | noexcept(__and_<is_nothrow_move_constructible<_Tp>,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| std::is_nothrow_move_constructible
/opt/local/include/gcc14/c++/type_traits:1210:12: note: 'std::is_nothrow_move_constructible' declared here
1210 | struct is_nothrow_move_constructible
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/local/include/gcc14/c++/utility:108:54: error: expected primary-expression before '>' token
108 | noexcept(__and_<is_nothrow_move_constructible<_Tp>,
| ^
/opt/local/include/gcc14/c++/utility:108:55: error: expected primary-expression before ',' token
108 | noexcept(__and_<is_nothrow_move_constructible<_Tp>,
| ^
/opt/local/include/gcc14/c++/utility:108:55: error: expected ')' before ',' token
108 | noexcept(__and_<is_nothrow_move_constructible<_Tp>,
| ~ ^
| )
/opt/local/include/gcc14/c++/utility:108:55: error: expected ';' before ',' token
108 | noexcept(__and_<is_nothrow_move_constructible<_Tp>,
| ^
| ;
/opt/local/include/gcc14/c++/utility:116:15: error: 'add_const_t' does not name a type
116 | constexpr add_const_t<_Tp>&
| ^~~~~~~~~~~
./boost/math/tools/mp.hpp:342:10: error: 'boost::math::tools::meta_programming::std::size_t' has not been declared
342 | template<std::size_t... I>
| ^~~
./boost/math/tools/mp.hpp:343:29: error: 'index_sequence' in namespace 'boost::math::tools::meta_programming::std' does not name a template type
343 | using index_sequence = std::index_sequence<I...>;
| ^~~~~~~~~~~~~~
./boost/math/tools/mp.hpp:345:10: error: 'boost::math::tools::meta_programming::std::size_t' has not been declared
345 | template<std::size_t N>
| ^~~
./boost/math/tools/mp.hpp:346:34: error: 'make_index_sequence' in namespace 'boost::math::tools::meta_programming::std' does not name a template type
346 | using make_index_sequence = std::make_index_sequence<N>;
| ^~~~~~~~~~~~~~~~~~~
./boost/math/tools/mp.hpp:349:33: error: 'index_sequence_for' in namespace 'boost::math::tools::meta_programming::std' does not name a template type
349 | using index_sequence_for = std::index_sequence_for<T...>;
| ^~~~~~~~~~~~~~~~~~
cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics
cc1plus: note: unrecognized command-line option '-Wno-enum-constexpr-conversion' may have been intended to silence earlier diagnostics
Attachments (1)
Change History (9)
comment:1 Changed 22 months ago by barracuda156
| Owner: | set to mohd-akram |
|---|---|
| Status: | new → assigned |
Changed 22 months ago by barracuda156
comment:2 Changed 22 months ago by barracuda156
| Port: | icu added |
|---|---|
| Summary: | boost176 broken by C++17 migration → boost176 broken by C++17 migration: error: '__and_' was not declared in this scope; did you mean 'std::__and_'? |
comment:3 Changed 22 months ago by barracuda156
| Description: | modified (diff) |
|---|
comment:4 Changed 22 months ago by barracuda156
| Description: | modified (diff) |
|---|
comment:5 Changed 22 months ago by barracuda156
This was a Boost bug fixed in 1.77.
boost176 port needs to backport this: https://github.com/boostorg/math/commit/1ec5c98d80de97f9e962c5627e1a0e6096099894
See also: #67353
comment:6 Changed 22 months ago by mohd-akram (Mohamed Akram)
| Owner: | mohd-akram deleted |
|---|---|
| Port: | icu removed |
comment:7 Changed 22 months ago by mascguy (Christopher Nielsen)
| Cc: | mascguy removed |
|---|---|
| Keywords: | haspatch added |
| Owner: | set to mascguy |
Thanks for the heads-up Sergey, will add the patch shortly.
comment:8 Changed 22 months ago by Christopher Nielsen <mascguy@…>
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
Note: See
TracTickets for help on using
tickets.

Just in case, on the same system Boost 1.81 builds normally from the default portfile, so it is not my compilers are broken :)