This is only broken when I enable the debug flag.
$ gcc --version Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/4.2.1 Apple clang version 13.0.0 (clang-1300.0.29.30) Target: arm64-apple-darwin21.3.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
Error reported below:
In file included from util/system.cpp:14: In file included from /opt/homebrew//include/boost/process.hpp:24: In file included from /opt/homebrew//include/boost/process/async_system.hpp:22: In file included from /opt/homebrew//include/boost/process/child.hpp:22: In file included from /opt/homebrew//include/boost/process/detail/execute_impl.hpp:24: /opt/homebrew//include/boost/process/detail/posix/executor.hpp:156:36: error: non-constant-expression cannot be narrowed from type 'unsigned long' to 'int' in initializer list [-Wc++11-narrowing] int data[2] = {ec.value(), len + 1}; ^~~~~~~ /opt/homebrew//include/boost/process/detail/posix/executor.hpp:175:13: note: in instantiation of member function 'boost::process::detail::posix::executor<boost::fusion::joint_view<boost::fusion::tuple<boost::process::detail::posix::exe_cmd_init<char>>, boost::fusion::filter_view<const boost::fusion::tuple<const std::string &, boost::process::detail::posix::pipe_out<1, -1> &, boost::process::detail::posix::pipe_out<2, -1> &, boost::process::detail::posix::pipe_in &>, boost::process::detail::is_initializer<mpl_::arg<-1>>>>>::write_error' requested here write_error(ec, msg); ^ /opt/homebrew//include/boost/process/detail/posix/executor.hpp:324:9: note: in instantiation of member function 'boost::process::detail::posix::executor<boost::fusion::joint_view<boost::fusion::tuple<boost::process::detail::posix::exe_cmd_init<char>>, boost::fusion::filter_view<const boost::fusion::tuple<const std::string &, boost::process::detail::posix::pipe_out<1, -1> &, boost::process::detail::posix::pipe_out<2, -1> &, boost::process::detail::posix::pipe_in &>, boost::process::detail::is_initializer<mpl_::arg<-1>>>>>::internal_error_handle' requested here internal_error_handle(ec, msg, has_error_handler(), has_ignore_error(), shall_use_vfork()); ^ /opt/homebrew//include/boost/process/detail/posix/executor.hpp:382:13: note: in instantiation of member function 'boost::process::detail::posix::executor<boost::fusion::joint_view<boost::fusion::tuple<boost::process::detail::posix::exe_cmd_init<char>>, boost::fusion::filter_view<const boost::fusion::tuple<const std::string &, boost::process::detail::posix::pipe_out<1, -1> &, boost::process::detail::posix::pipe_out<2, -1> &, boost::process::detail::posix::pipe_in &>, boost::process::detail::is_initializer<mpl_::arg<-1>>>>>::set_error' requested here set_error(::boost::process::detail::get_last_error(), "pipe(2) failed"); ^ /opt/homebrew//include/boost/process/detail/posix/executor.hpp:308:16: note: in instantiation of member function 'boost::process::detail::posix::executor<boost::fusion::joint_view<boost::fusion::tuple<boost::process::detail::posix::exe_cmd_init<char>>, boost::fusion::filter_view<const boost::fusion::tuple<const std::string &, boost::process::detail::posix::pipe_out<1, -1> &, boost::process::detail::posix::pipe_out<2, -1> &, boost::process::detail::posix::pipe_in &>, boost::process::detail::is_initializer<mpl_::arg<-1>>>>>::invoke' requested here return invoke(has_ignore_error(), shall_use_vfork()); ^ /opt/homebrew//include/boost/process/detail/execute_impl.hpp:267:12: note: in instantiation of member function 'boost::process::detail::posix::executor<boost::fusion::joint_view<boost::fusion::tuple<boost::process::detail::posix::exe_cmd_init<char>>, boost::fusion::filter_view<const boost::fusion::tuple<const std::string &, boost::process::detail::posix::pipe_out<1, -1> &, boost::process::detail::posix::pipe_out<2, -1> &, boost::process::detail::posix::pipe_in &>, boost::process::detail::is_initializer<mpl_::arg<-1>>>>>::operator()' requested here return exec(); ^ /opt/homebrew//include/boost/process/detail/execute_impl.hpp:275:12: note: in instantiation of function template specialization 'boost::process::detail::basic_execute_impl<char, const std::string &, boost::process::detail::posix::pipe_out<1, -1>, boost::process::detail::posix::pipe_out<2, -1>, boost::process::detail::posix::pipe_in>' requested here return basic_execute_impl<req_char_type>( ^ /opt/homebrew//include/boost/process/child.hpp:35:39: note: in instantiation of function template specialization 'boost::process::detail::execute_impl<const std::string &, boost::process::detail::posix::pipe_out<1, -1>, boost::process::detail::posix::pipe_out<2, -1>, boost::process::detail::posix::pipe_in>' requested here : child(::boost::process::detail::execute_impl(std::forward<Args>(args)...)) {} ^ util/system.cpp:1263:15: note: in instantiation of function template specialization 'boost::process::child::child<const std::string &, boost::process::detail::posix::pipe_out<1, -1>, boost::process::detail::posix::pipe_out<2, -1>, boost::process::detail::posix::pipe_in>' requested here bp::child c( ^ /opt/homebrew//include/boost/process/detail/posix/executor.hpp:156:36: note: insert an explicit cast to silence this issue int data[2] = {ec.value(), len + 1}; ^~~~~~~ static_cast<int>( ) 22 warnings and 2 errors generated. make[2]: *** [util/libbitcoin_util_a-system.o] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all-recursive] Error 1