#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)

main.log​ (1.1 MB) - added by barracuda156 22 months ago.

Download all attachments as: .zip

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

Attachment: main.log​ added

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)

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

Sergey-Fedorovs-Mac:~ svacchanda\$ port -v installed boost181                   
The following ports are currently installed:
  boost181 @1.81.0_12+no_single+no_static+python312 (active) requested_variants='' platform='darwin 10' archs='ppc' date='2024-12-26T16:31:33+0800'

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

In 06d1d29dfc71aa825fb405f0be1627f64a284f78/macports-ports (master):

boost176: upstream patch for cxx17

Fixes: #71647

Note: See TracTickets for help on using tickets.