[MacPorts] #57645: Boost.asio problem on Mojave

MacPorts noreply at macports.org
Mon Nov 19 19:28:07 UTC 2018


#57645: Boost.asio problem on Mojave
------------------------+--------------------
 Reporter:  mouse07410  |      Owner:  (none)
     Type:  defect      |     Status:  new
 Priority:  Normal      |  Milestone:
Component:  ports       |    Version:
 Keywords:              |       Port:  boost
------------------------+--------------------
 I'm trying to build [https://github.com/randombit/botan.git] on Mojave
 with Xcode-10.1. The build fails with boost.asio being unable to correctly
 deal with {{{string_view}}}. Happens wit Xcode Clang, and with Macports
 clang-7.0 :

 {{{
 clang++ -fPIC -fvisibility=hidden -fstack-protector -m64 -pthread
 -stdlib=libc++ -maes -mpclmul -mrdrnd -msse2 -mssse3 -msse4 -msse4.2 -Os
 -Ofast -I/opt/local/include -std=c++11 -D_REENTRANT -maes -mpclmul -msse2
 -mssse3 -msse4 -msse4.2 -mrdseed -mrdrnd -mavx2 -mavx512f -std=gnu++17 -Os
 -Ofast -Wall -Wextra -Wpedantic -Wshadow -Wstrict-aliasing -Wstrict-
 overflow=5 -Wcast-align -Wmissing-declarations -Wpointer-arith -Wcast-qual
 -Ibuild/include -Ibuild/include/external -c
 src/lib/utils/socket/socket.cpp -o build/obj/lib/utils_socket.o
 In file included from src/lib/utils/socket/socket.cpp:20:
 In file included from /opt/local/include/boost/asio.hpp:23:
 In file included from
 /opt/local/include/boost/asio/basic_datagram_socket.hpp:20:
 In file included from /opt/local/include/boost/asio/basic_socket.hpp:40:
 In file included from
 /opt/local/include/boost/asio/detail/reactive_socket_service.hpp:22:
 In file included from /opt/local/include/boost/asio/buffer.hpp:27:
 In file included from
 /opt/local/include/boost/asio/detail/string_view.hpp:23:
 /opt/local/libexec/llvm-7.0/include/c++/v1/experimental/string_view:11:2:
 error: "<experimental/string_view> has been removed. Use <string_view>
 instead."
 #error "<experimental/string_view> has been removed. Use <string_view>
 instead."
  ^
 In file included from src/lib/utils/socket/socket.cpp:20:
 In file included from /opt/local/include/boost/asio.hpp:23:
 In file included from
 /opt/local/include/boost/asio/basic_datagram_socket.hpp:20:
 In file included from /opt/local/include/boost/asio/basic_socket.hpp:40:
 In file included from
 /opt/local/include/boost/asio/detail/reactive_socket_service.hpp:22:
 In file included from /opt/local/include/boost/asio/buffer.hpp:27:
 /opt/local/include/boost/asio/detail/string_view.hpp:32:12: error: no
 member named 'experimental' in namespace 'std'
 using std::experimental::basic_string_view;
       ~~~~~^
 /opt/local/include/boost/asio/detail/string_view.hpp:33:12: error: no
 member named 'experimental' in namespace 'std'
 using std::experimental::string_view;
       ~~~~~^
 In file included from src/lib/utils/socket/socket.cpp:20:
 In file included from /opt/local/include/boost/asio.hpp:23:
 In file included from
 /opt/local/include/boost/asio/basic_datagram_socket.hpp:20:
 In file included from /opt/local/include/boost/asio/basic_socket.hpp:40:
 In file included from
 /opt/local/include/boost/asio/detail/reactive_socket_service.hpp:22:
 /opt/local/include/boost/asio/buffer.hpp:1489:5: error: no template named
 'basic_string_view'; did you mean 'std::basic_string_view'?
     basic_string_view<Elem, Traits> data) BOOST_ASIO_NOEXCEPT
     ^~~~~~~~~~~~~~~~~
     std::basic_string_view
 /opt/local/libexec/llvm-7.0/include/c++/v1/string_view:194:28: note:
 'std::basic_string_view' declared here
 class _LIBCPP_TEMPLATE_VIS basic_string_view {
                            ^
 In file included from src/lib/utils/socket/socket.cpp:20:
 In file included from /opt/local/include/boost/asio.hpp:23:
 In file included from
 /opt/local/include/boost/asio/basic_datagram_socket.hpp:20:
 In file included from /opt/local/include/boost/asio/basic_socket.hpp:40:
 In file included from
 /opt/local/include/boost/asio/detail/reactive_socket_service.hpp:22:
 /opt/local/include/boost/asio/buffer.hpp:1510:5: error: no template named
 'basic_string_view'; did you mean 'std::basic_string_view'?
     basic_string_view<Elem, Traits> data,
     ^~~~~~~~~~~~~~~~~
     std::basic_string_view
 /opt/local/libexec/llvm-7.0/include/c++/v1/string_view:194:28: note:
 'std::basic_string_view' declared here
 class _LIBCPP_TEMPLATE_VIS basic_string_view {
                            ^
 In file included from src/lib/utils/socket/socket.cpp:20:
 In file included from /opt/local/include/boost/asio.hpp:71:
 In file included from /opt/local/include/boost/asio/ip/address.hpp:24:
 /opt/local/include/boost/asio/ip/address_v4.hpp:288:44: error: unknown
 type name 'string_view'; did you mean 'std::string_view'?
 BOOST_ASIO_DECL address_v4 make_address_v4(string_view str);
                                            ^~~~~~~~~~~
                                            std::string_view
 /opt/local/libexec/llvm-7.0/include/c++/v1/string_view:770:37: note:
 'std::string_view' declared here
 typedef basic_string_view<char>     string_view;
                                     ^
 In file included from src/lib/utils/socket/socket.cpp:20:
 In file included from /opt/local/include/boost/asio.hpp:71:
 In file included from /opt/local/include/boost/asio/ip/address.hpp:24:
 /opt/local/include/boost/asio/ip/address_v4.hpp:295:5: error: unknown type
 name 'string_view'; did you mean 'std::string_view'?
     string_view str, boost::system::error_code& ec);
     ^~~~~~~~~~~
     std::string_view
 /opt/local/libexec/llvm-7.0/include/c++/v1/string_view:770:37: note:
 'std::string_view' declared here
 typedef basic_string_view<char>     string_view;
                                     ^
 In file included from src/lib/utils/socket/socket.cpp:20:
 In file included from /opt/local/include/boost/asio.hpp:71:
 In file included from /opt/local/include/boost/asio/ip/address.hpp:24:
 In file included from /opt/local/include/boost/asio/ip/address_v4.hpp:328:
 /opt/local/include/boost/asio/ip/impl/address_v4.ipp:193:28: error:
 unknown type name 'string_view'; did you mean 'std::string_view'?
 address_v4 make_address_v4(string_view str)
                            ^~~~~~~~~~~
                            std::string_view
 /opt/local/libexec/llvm-7.0/include/c++/v1/string_view:770:37: note:
 'std::string_view' declared here
 typedef basic_string_view<char>     string_view;
                                     ^
 In file included from src/lib/utils/socket/socket.cpp:20:
 In file included from /opt/local/include/boost/asio.hpp:71:
 In file included from /opt/local/include/boost/asio/ip/address.hpp:24:
 In file included from /opt/local/include/boost/asio/ip/address_v4.hpp:328:
 /opt/local/include/boost/asio/ip/impl/address_v4.ipp:198:28: error:
 unknown type name 'string_view'; did you mean 'std::string_view'?
 address_v4 make_address_v4(string_view str,
                            ^~~~~~~~~~~
                            std::string_view
 /opt/local/libexec/llvm-7.0/include/c++/v1/string_view:770:37: note:
 'std::string_view' declared here
 typedef basic_string_view<char>     string_view;
                                     ^
 In file included from src/lib/utils/socket/socket.cpp:20:
 In file included from /opt/local/include/boost/asio.hpp:71:
 In file included from /opt/local/include/boost/asio/ip/address.hpp:25:
 /opt/local/include/boost/asio/ip/address_v6.hpp:277:44: error: unknown
 type name 'string_view'; did you mean 'std::string_view'?
 BOOST_ASIO_DECL address_v6 make_address_v6(string_view str);
                                            ^~~~~~~~~~~
                                            std::string_view
 /opt/local/libexec/llvm-7.0/include/c++/v1/string_view:770:37: note:
 'std::string_view' declared here
 typedef basic_string_view<char>     string_view;
                                     ^
 In file included from src/lib/utils/socket/socket.cpp:20:
 In file included from /opt/local/include/boost/asio.hpp:71:
 In file included from /opt/local/include/boost/asio/ip/address.hpp:25:
 /opt/local/include/boost/asio/ip/address_v6.hpp:284:5: error: unknown type
 name 'string_view'; did you mean 'std::string_view'?
     string_view str, boost::system::error_code& ec);
     ^~~~~~~~~~~
     std::string_view
 /opt/local/libexec/llvm-7.0/include/c++/v1/string_view:770:37: note:
 'std::string_view' declared here
 typedef basic_string_view<char>     string_view;
                                     ^
 In file included from src/lib/utils/socket/socket.cpp:20:
 In file included from /opt/local/include/boost/asio.hpp:71:
 In file included from /opt/local/include/boost/asio/ip/address.hpp:25:
 In file included from /opt/local/include/boost/asio/ip/address_v6.hpp:335:
 /opt/local/include/boost/asio/ip/impl/address_v6.ipp:309:28: error:
 unknown type name 'string_view'; did you mean 'std::string_view'?
 address_v6 make_address_v6(string_view str)
                            ^~~~~~~~~~~
                            std::string_view
 /opt/local/libexec/llvm-7.0/include/c++/v1/string_view:770:37: note:
 'std::string_view' declared here
 typedef basic_string_view<char>     string_view;
                                     ^
 In file included from src/lib/utils/socket/socket.cpp:20:
 In file included from /opt/local/include/boost/asio.hpp:71:
 In file included from /opt/local/include/boost/asio/ip/address.hpp:25:
 In file included from /opt/local/include/boost/asio/ip/address_v6.hpp:335:
 /opt/local/include/boost/asio/ip/impl/address_v6.ipp:314:28: error:
 unknown type name 'string_view'; did you mean 'std::string_view'?
 address_v6 make_address_v6(string_view str,
                            ^~~~~~~~~~~
                            std::string_view
 /opt/local/libexec/llvm-7.0/include/c++/v1/string_view:770:37: note:
 'std::string_view' declared here
 typedef basic_string_view<char>     string_view;
                                     ^
 In file included from src/lib/utils/socket/socket.cpp:20:
 In file included from /opt/local/include/boost/asio.hpp:71:
 /opt/local/include/boost/asio/ip/address.hpp:218:38: error: unknown type
 name 'string_view'; did you mean 'std::string_view'?
 BOOST_ASIO_DECL address make_address(string_view str);
                                      ^~~~~~~~~~~
                                      std::string_view
 /opt/local/libexec/llvm-7.0/include/c++/v1/string_view:770:37: note:
 'std::string_view' declared here
 typedef basic_string_view<char>     string_view;
                                     ^
 In file included from src/lib/utils/socket/socket.cpp:20:
 In file included from /opt/local/include/boost/asio.hpp:71:
 /opt/local/include/boost/asio/ip/address.hpp:226:5: error: unknown type
 name 'string_view'; did you mean 'std::string_view'?
     string_view str, boost::system::error_code& ec);
     ^~~~~~~~~~~
     std::string_view
 /opt/local/libexec/llvm-7.0/include/c++/v1/string_view:770:37: note:
 'std::string_view' declared here
 typedef basic_string_view<char>     string_view;
                                     ^
 In file included from src/lib/utils/socket/socket.cpp:20:
 In file included from /opt/local/include/boost/asio.hpp:71:
 In file included from /opt/local/include/boost/asio/ip/address.hpp:259:
 /opt/local/include/boost/asio/ip/impl/address.ipp:140:22: error: unknown
 type name 'string_view'; did you mean 'std::string_view'?
 address make_address(string_view str)
                      ^~~~~~~~~~~
                      std::string_view
 /opt/local/libexec/llvm-7.0/include/c++/v1/string_view:770:37: note:
 'std::string_view' declared here
 typedef basic_string_view<char>     string_view;
                                     ^
 In file included from src/lib/utils/socket/socket.cpp:20:
 In file included from /opt/local/include/boost/asio.hpp:71:
 In file included from /opt/local/include/boost/asio/ip/address.hpp:259:
 /opt/local/include/boost/asio/ip/impl/address.ipp:145:22: error: unknown
 type name 'string_view'; did you mean 'std::string_view'?
 address make_address(string_view str,
                      ^~~~~~~~~~~
                      std::string_view
 /opt/local/libexec/llvm-7.0/include/c++/v1/string_view:770:37: note:
 'std::string_view' declared here
 typedef basic_string_view<char>     string_view;
                                     ^
 In file included from src/lib/utils/socket/socket.cpp:20:
 In file included from /opt/local/include/boost/asio.hpp:80:
 In file included from
 /opt/local/include/boost/asio/ip/basic_resolver.hpp:27:
 In file included from
 /opt/local/include/boost/asio/ip/basic_resolver_iterator.hpp:27:
 /opt/local/include/boost/asio/ip/basic_resolver_entry.hpp:54:7: error: no
 type named 'string_view' in namespace 'boost::asio'; did you mean
 'std::string_view'?
       BOOST_ASIO_STRING_VIEW_PARAM host, BOOST_ASIO_STRING_VIEW_PARAM
 service)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
       std::string_view
 /opt/local/include/boost/asio/detail/string_view.hpp:42:39: note: expanded
 from macro 'BOOST_ASIO_STRING_VIEW_PARAM'
 # define BOOST_ASIO_STRING_VIEW_PARAM boost::asio::string_view
                                       ^~~~~~~~~~~~~
 /opt/local/libexec/llvm-7.0/include/c++/v1/string_view:770:37: note:
 'std::string_view' declared here
 typedef basic_string_view<char>     string_view;
                                     ^
 In file included from src/lib/utils/socket/socket.cpp:20:
 In file included from /opt/local/include/boost/asio.hpp:80:
 In file included from
 /opt/local/include/boost/asio/ip/basic_resolver.hpp:27:
 In file included from
 /opt/local/include/boost/asio/ip/basic_resolver_iterator.hpp:27:
 /opt/local/include/boost/asio/ip/basic_resolver_entry.hpp:54:42: error: no
 type named 'string_view' in namespace 'boost::asio'; did you mean
 'std::string_view'?
       BOOST_ASIO_STRING_VIEW_PARAM host, BOOST_ASIO_STRING_VIEW_PARAM
 service)
                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                          std::string_view
 /opt/local/include/boost/asio/detail/string_view.hpp:42:39: note: expanded
 from macro 'BOOST_ASIO_STRING_VIEW_PARAM'
 # define BOOST_ASIO_STRING_VIEW_PARAM boost::asio::string_view
                                       ^~~~~~~~~~~~~
 /opt/local/libexec/llvm-7.0/include/c++/v1/string_view:770:37: note:
 'std::string_view' declared here
 typedef basic_string_view<char>     string_view;
                                     ^
 fatal error: too many errors emitted, stopping now [-ferror-limit=]
 20 errors generated.
 make: *** [build/obj/lib/utils_socket.o] Error 1
 }}}

 It looks like this issue has been fixed for Asio?
 [https://github.com/chriskohlhoff/asio/commit/68df16d560c68944809bb2947360fe8035e9ae0a]

-- 
Ticket URL: <https://trac.macports.org/ticket/57645>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list