Open ghost opened 3 years ago
@siliu-tacc commented on Sep 28, 2020, 2:28 PM UTC:
Any suggestions or recommendations?
Thanks
@boegel commented on Nov 9, 2020, 2:00 PM UTC:
I'm hitting the same problem when compiling Boost 1.74.0 with the latest Intel compilers (2020 update 4).
This problem doesn't occur with Boost 1.72.0
@zao commented on Nov 9, 2020, 2:46 PM UTC:
Building with -DBOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT=1
seems to mitigate whatever problem there is with the executor property deduction machinery, but isn't a lasting solution.
@zao commented on Nov 9, 2020, 2:47 PM UTC:
(flag found in https://www.boost.org/doc/libs/1_74_0/doc/html/boost_asio/std_executors.html )
@jbonyun commented on Nov 18, 2020, 10:14 PM UTC:
This appears to be specific to the combination of the Intel compiler with newish GCC libstdc++. Because I don't have a problem with Clang 11 or GCC 10 when using libstdc++ from GCC 10. I don't have a problem with any of Clang/GCC/Intel when using older libstdc++ (definitely gcc 4.9.2, but I also think gcc 8.3.1). But I do have the problem when combining Intel 19.1.2 (from 2020 update 4 release), GCC 10's libstdc++, and boost 1.74.
I can build with zao's -DBOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT=1
work-around. No feedback on functionality using this define yet, but at least it compiles. Note that this define is when compiling your source code that uses asio, rather than when building boost itself (it's a header-only library anyway).
@siliu-tacc commented on Sep 20, 2020, 3:18 AM UTC:
Dear all,
I got some issue to build the new versions of boost. The commands I used are:
./bootstrap.sh --prefix=${MYINSTALL} --with-toolset=intel-linux --with-libraries=all --without-libraries=mpi ./b2 --prefix=${MYINSTALL} -sICU_PATH=${MYINSTALL} 'cxxflags=${MYFLAG}' 'cflags=${MYFLAG}' 'linkflags=${MYFLAG}' install
The compilation can't be finished due to some instance of constructor issues. The related error message is attached at the end.
Any suggestions are appreciated. Thanks a lot,
./boost/asio/detail/io_object_impl.hpp(61): error: no instance of constructor "boost::asio::execution::any_executor::any_executor [with SupportableProperties=<boost::asio::execution::context_as_t<boost::asio::execution_context &>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0>>,
boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0>>, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0>>, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0>>, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0>>>]" matches the argument list
argument types are: (boost::asio::io_context::executortype)
executor(context.get_executor())
^
./boost/asio/execution/any_executor.hpp(1409): note: this candidate was rejected because arguments do not match
any_executor(any_executor&& other) BOOST_ASIO_NOEXCEPT
^
./boost/asio/execution/any_executor.hpp(1382): note: this candidate was rejected because arguments do not match
any_executor(const any_executor& other) BOOST_ASIO_NOEXCEPT
^
./boost/asio/execution/any_executor.hpp(1363): note: this candidate was rejected because at least one template argument could not be deduced
any_executor(any_executor other,
^
./boost/asio/execution/any_executor.hpp(1346): note: this candidate was rejected because at least one template argument could not be deduced
any_executor(Executor ex,
^
./boost/asio/execution/any_executor.hpp(1339): note: this candidate was rejected because arguments do not match
any_executor(nullptr_t) BOOST_ASIO_NOEXCEPT
^
./boost/asio/execution/any_executor.hpp(1333): note: this candidate was rejected because mismatch in count of arguments
any_executor() BOOST_ASIO_NOEXCEPT
^
detected during:
instantiation of "boost::asio::detail::io_object_impl<IoObjectService, Executor>::io_object_impl(ExecutionContext &, std::enable_if<std::is_convertible<ExecutionContext &, boost::asio::execution_context &>::value, void>::type ) [with IoObjectService=boost::asio::detail::resolver_serviceboost::asio::ip::udp, Executor=boost::asio::any_io_executor, ExecutionContext=boost::asio::io_context]" at line 127 of "./boost/asio/ip/basic_resolver.hpp"
instantiation of "boost::asio::ip::basic_resolver<InternetProtocol, Executor>::basic_resolver(ExecutionContext &, std::enable_if<std::is_convertible<ExecutionContext &, boost::asio::execution_context &>::value, void>::type ) [with InternetProtocol=boost::asio::ip::udp, Executor=boost::asio::any_io_executor, ExecutionContext=boost::asio::io_context]" at line 366 of "libs/log/src/syslog_backend.cpp"
compilation aborted for libs/log/src/syslog_backend.cpp (code 2)
...failed intel-linux.compile.c++ bin.v2/libs/log/build/intel-linux/release/link-static/threadapi-pthread/threading-multi/visibility-hidden/syslog_backend.o... ...skipped <pbin.v2/libs/log/build/intel-linux/release/link-static/threadapi-pthread/threading-multi/visibility-hidden>libboost_log.a(clean) for lack of <pbin.v2/libs/log/build/intel-linux/release/link-static/threadapi-pthread/threading-multi/visibility-hidden>syslog_backend.o...
This issue was moved by chriskohlhoff from boostorg/asio#362.