vectorgraphics / asymptote

2D & 3D TeX-Aware Vector Graphics Language
https://asymptote.sourceforge.io/
GNU General Public License v3.0
542 stars 90 forks source link

C++ errors #330

Closed yurivict closed 2 years ago

yurivict commented 2 years ago
In file included from /usr/local/include/boost/process.hpp:24:
In file included from /usr/local/include/boost/process/async_system.hpp:22:
In file included from /usr/local/include/boost/process/child.hpp:22:
In file included from /usr/local/include/boost/process/detail/execute_impl.hpp:24:
/usr/local/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};
                                   ^~~~~~~
/usr/local/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>( )
/usr/local/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};
                                   ^~~~~~~
/usr/local/include/boost/process/detail/posix/executor.hpp:165:13: note: in instantiation of member function 'boost::process::detail::posix::executor<boost::fusion::joint_view<boost::fusion::tuple<boost::process::detail::posix::io_context_ref, boost::process::detail::posix::exe_cmd_init<char>, boost::process::detail::set_on_error>, boost::fusion::filter_view<const boost::fusion::tuple<boost::asio::io_context &, std::string &, std::error_code &, boost::process::detail::posix::pipe_out<1, -1> &, boost::process::detail::posix::pipe_in &, boost::process::detail::posix::on_exit_ &>, boost::process::detail::is_initializer<mpl_::arg<-1>>>>>::write_error' requested here
            write_error(ec, msg);
            ^
/usr/local/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::io_context_ref, boost::process::detail::posix::exe_cmd_init<char>, boost::process::detail::set_on_error>, boost::fusion::filter_view<const boost::fusion::tuple<boost::asio::io_context &, std::string &, std::error_code &, boost::process::detail::posix::pipe_out<1, -1> &, boost::process::detail::posix::pipe_in &, boost::process::detail::posix::on_exit_ &>, 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());
        ^
/usr/local/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::io_context_ref, boost::process::detail::posix::exe_cmd_init<char>, boost::process::detail::set_on_error>, boost::fusion::filter_view<const boost::fusion::tuple<boost::asio::io_context &, std::string &, std::error_code &, boost::process::detail::posix::pipe_out<1, -1> &, boost::process::detail::posix::pipe_in &, boost::process::detail::posix::on_exit_ &>, boost::process::detail::is_initializer<mpl_::arg<-1>>>>>::set_error' requested here
            set_error(::boost::process::detail::get_last_error(), "pipe(2) failed");
            ^
/usr/local/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::io_context_ref, boost::process::detail::posix::exe_cmd_init<char>, boost::process::detail::set_on_error>, boost::fusion::filter_view<const boost::fusion::tuple<boost::asio::io_context &, std::string &, std::error_code &, boost::process::detail::posix::pipe_out<1, -1> &, boost::process::detail::posix::pipe_in &, boost::process::detail::posix::on_exit_ &>, boost::process::detail::is_initializer<mpl_::arg<-1>>>>>::invoke' requested here
        return invoke(has_ignore_error(), shall_use_vfork());
               ^
/usr/local/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::io_context_ref, boost::process::detail::posix::exe_cmd_init<char>, boost::process::detail::set_on_error>, boost::fusion::filter_view<const boost::fusion::tuple<boost::asio::io_context &, std::string &, std::error_code &, boost::process::detail::posix::pipe_out<1, -1> &, boost::process::detail::posix::pipe_in &, boost::process::detail::posix::on_exit_ &>, boost::process::detail::is_initializer<mpl_::arg<-1>>>>>::operator()' requested here
    return exec();
           ^
/usr/local/include/boost/process/detail/execute_impl.hpp:275:12: note: (skipping 1 context in backtrace; use -ftemplate-backtrace-limit=0 to see all)
    return basic_execute_impl<req_char_type>(
           ^
/usr/local/include/boost/process/child.hpp:35:39: note: in instantiation of function template specialization 'boost::process::detail::execute_impl<boost::asio::io_context &, std::string &, std::error_code &, boost::process::detail::posix::pipe_out<1, -1>, boost::process::detail::posix::pipe_in, boost::process::detail::posix::on_exit_>' requested here
    : child(::boost::process::detail::execute_impl(std::forward<Args>(args)...)) {}
                                      ^
/usr/include/c++/v1/__memory/shared_ptr.h:298:37: note: in instantiation of function template specialization 'boost::process::child::child<boost::asio::io_context &, std::string &, std::error_code &, boost::process::detail::posix::pipe_out<1, -1>, boost::process::detail::posix::pipe_in, boost::process::detail::posix::on_exit_>' requested here
        ::new ((void*)__get_elem()) _Tp(_VSTD::forward<_Args>(__args)...);
                                    ^
/usr/include/c++/v1/__memory/shared_ptr.h:1106:55: note: in instantiation of function template specialization 'std::__shared_ptr_emplace<boost::process::child, std::allocator<boost::process::child>>::__shared_ptr_emplace<boost::asio::io_context &, std::string &, std::error_code &, boost::process::detail::posix::pipe_out<1, -1>, boost::process::detail::posix::pipe_in, boost::process::detail::posix::on_exit_>' requested here
    ::new ((void*)_VSTD::addressof(*__guard.__get())) _ControlBlock(__a, _VSTD::forward<_Args>(__args)...);
                                                      ^
/usr/include/c++/v1/__memory/shared_ptr.h:1115:19: note: in instantiation of function template specialization 'std::allocate_shared<boost::process::child, std::allocator<boost::process::child>, boost::asio::io_context &, std::string &, std::error_code &, boost::process::detail::posix::pipe_out<1, -1>, boost::process::detail::posix::pipe_in, boost::process::detail::posix::on_exit_, void>' requested here
    return _VSTD::allocate_shared<_Tp>(allocator<_Tp>(), _VSTD::forward<_Args>(__args)...);
                  ^
/disk-samsung/freebsd-ports/math/asymptote/work/asymptote-2.81/LspCpp/src/lsp/ParentProcessWatcher.cpp:54:12: note: in instantiation of function template specialization 'std::make_shared<boost::process::child, boost::asio::io_context &, std::string &, std::error_code &, boost::process::detail::posix::pipe_out<1, -1>, boost::process::detail::posix::pipe_in, boost::process::detail::posix::on_exit_, void>' requested here
                c = std::make_shared<bp::child>(asio_io.getIOService(), command,
                         ^
/usr/local/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>( )
2 errors generated.

Version: 2.81 clang-13 boost-libs-1.79.0 FreeBSD 13.1

johncbowman commented 2 years ago

Please report this bug report to the appropriate boost library forum.

In the meantime, you can configure Asymptote with the --disable-lsp option so that the boost library isn't needed.