[Boost-bugs] [Boost C++ Libraries] #13552: boost::process doesn't compile with MinGW if BOOST_ASIO_NO_DEPRECATED is defined

Subject: [Boost-bugs] [Boost C++ Libraries] #13552: boost::process doesn't compile with MinGW if BOOST_ASIO_NO_DEPRECATED is defined
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2018-04-30 13:02:56


#13552: boost::process doesn't compile with MinGW if BOOST_ASIO_NO_DEPRECATED is
defined
------------------------------+---------------------
 Reporter: info@… | Owner: (none)
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: process
  Version: Boost 1.67.0 | Severity: Problem
 Keywords: |
------------------------------+---------------------
 The following minimal example doesn't compile:

 {{{
 #define BOOST_ASIO_NO_DEPRECATED
 #include <boost/process.hpp>

 int main(int /* argc */, char ** /* argv */)
 {
         return 0;
 }
 }}}

 gcc is 7.1.0
 {{{
 gcc -v
 Using built-in specs.
 COLLECT_GCC=...\c\bin\gcc.exe
 COLLECT_LTO_WRAPPER=.../c/bin/../libexec/gcc/i686-w64-mingw32/7.1.0/lto-
 wrapper.exe
 Target: i686-w64-mingw32
 Configured with: ../../../src/gcc-7.1.0/configure --host=i686-w64-mingw32
 --build=i686-w64-mingw32 --target=i686-w64-mingw32 --prefix=/mingw32
 --enable-shared --enable-static --disable-multilib --enable-
 languages=c,c++,fortran,lto --enable-libstdcxx-time=yes --enable-
 threads=posix --enable-libgomp --enable-libatomic --enable-lto --enable-
 graphite --enable-checking=release --enable-fully-dynamic-string --enable-
 version-specific-runtime-libs --enable-libstdcxx-filesystem-ts=yes
 --disable-sjlj-exceptions --with-dwarf2 --disable-libstdcxx-pch --disable-
 libstdcxx-debug --disable-bootstrap --disable-rpath --disable-
 win32-registry --disable-nls --disable-werror --disable-symvers --with-
 gnu-as --with-gnu-ld --with-arch=i686 --with-tune=generic --with-libiconv
 --with-system-zlib --with-
 gmp=/opt/build/prerequisites/i686-w64-mingw32-static --with-
 mpfr=/opt/build/prerequisites/i686-w64-mingw32-static --with-
 mpc=/opt/build/prerequisites/i686-w64-mingw32-static --with-
 isl=/opt/build/prerequisites/i686-w64-mingw32-static --with-
 pkgversion='i686-posix-dwarf, Built by strawberryperl.com project'
 CFLAGS='-O2 -pipe -fno-ident -I/opt/build/i686-710-posix-dwarf-
 rt_v502/mingw32/opt/include -I/opt/build/prerequisites/i686-zlib-
 static/include -I/opt/build/prerequisites/i686-w64-mingw32-static/include'
 CXXFLAGS='-O2 -pipe -fno-ident -I/opt/build/i686-710-posix-dwarf-
 rt_v502/mingw32/opt/include -I/opt/build/prerequisites/i686-zlib-
 static/include -I/opt/build/prerequisites/i686-w64-mingw32-static/include'
 CPPFLAGS=' -I/opt/build/i686-710-posix-dwarf-rt_v502/mingw32/opt/include
 -I/opt/build/prerequisites/i686-zlib-static/include
 -I/opt/build/prerequisites/i686-w64-mingw32-static/include' LDFLAGS='-pipe
 -fno-ident -L/opt/build/i686-710-posix-dwarf-rt_v502/mingw32/opt/lib
 -L/opt/build/prerequisites/i686-zlib-static/lib
 -L/opt/build/prerequisites/i686-w64-mingw32-static/lib -Wl,--large-
 address-aware'
 Thread model: posix
 gcc version 7.1.0 (i686-posix-dwarf, Built by strawberryperl.com project)
 }}}

 Errors are:
 {{{
 In file included from boost\include/boost/process/async_pipe.hpp:20:0,
                  from
 boost\include/boost/process/detail/windows/async_in.hpp:22,
                  from boost\include/boost/process/async.hpp:49,
                  from boost\include/boost/process.hpp:23,
                  from src/testing/testing_main.cpp:7:
 boost\include/boost/process/detail/windows/async_pipe.hpp: In member
 function 'void boost::process::detail::windows::async_pipe::close()':
 boost\include/boost/process/detail/windows/async_pipe.hpp:102:39: error:
 'class boost::asio::windows::stream_handle' has no member named
 'get_io_context'
              _sink = handle_type(_sink.get_io_context());
                                        ^~~~~~~~~~~~~~
 boost\include/boost/process/detail/windows/async_pipe.hpp:107:43: error:
 'class boost::asio::windows::stream_handle' has no member named
 'get_io_context'
              _source = handle_type(_source.get_io_context());
                                            ^~~~~~~~~~~~~~
 boost\include/boost/process/detail/windows/async_pipe.hpp: In member
 function 'void
 boost::process::detail::windows::async_pipe::close(boost::system::error_code&)':
 boost\include/boost/process/detail/windows/async_pipe.hpp:115:39: error:
 'class boost::asio::windows::stream_handle' has no member named
 'get_io_context'
              _sink = handle_type(_sink.get_io_context());
                                        ^~~~~~~~~~~~~~
 boost\include/boost/process/detail/windows/async_pipe.hpp:120:43: error:
 'class boost::asio::windows::stream_handle' has no member named
 'get_io_context'
              _source = handle_type(_source.get_io_context());
                                            ^~~~~~~~~~~~~~
 boost\include/boost/process/detail/windows/async_pipe.hpp: In member
 function 'void
 boost::process::detail::windows::async_pipe::async_close()':
 boost\include/boost/process/detail/windows/async_pipe.hpp:131:19: error:
 'class boost::asio::windows::stream_handle' has no member named
 'get_io_context'
              _sink.get_io_context(). post([this]{_sink.close();});
                    ^~~~~~~~~~~~~~
 boost\include/boost/process/detail/windows/async_pipe.hpp:133:21: error:
 'class boost::asio::windows::stream_handle' has no member named
 'get_io_context'
              _source.get_io_context().post([this]{_source.close();});
                      ^~~~~~~~~~~~~~
 In file included from boost\include/boost/process/async_pipe.hpp:20:0,
                  from
 boost\include/boost/process/detail/windows/async_in.hpp:22,
                  from boost\include/boost/process/async.hpp:49,
                  from boost\include/boost/process.hpp:23,
                  from src/testing/testing_main.cpp:7:
 boost\include/boost/process/detail/windows/async_pipe.hpp: In copy
 constructor 'boost::process::detail::windows::async_pipe::async_pipe(const
 boost::process::detail::windows::async_pipe&)':
 boost\include/boost/process/detail/windows/async_pipe.hpp:240:49: error:
 'boost::process::detail::windows::async_pipe::handle_type {aka class
 boost::asio::windows::stream_handle}' has no member named 'get_io_context'
      _source(const_cast<handle_type&>(p._source).get_io_context()),
                                                  ^~~~~~~~~~~~~~
 boost\include/boost/process/detail/windows/async_pipe.hpp:241:47: error:
 'boost::process::detail::windows::async_pipe::handle_type {aka class
 boost::asio::windows::stream_handle}' has no member named 'get_io_context'
      _sink (const_cast<handle_type&>(p._sink).get_io_context())
                                                ^~~~~~~~~~~~~~
 boost\include/boost/process/detail/windows/async_pipe.hpp: In member
 function 'boost::process::detail::windows::async_pipe&
 boost::process::detail::windows::async_pipe::operator=(const
 boost::process::detail::windows::async_pipe&)':
 boost\include/boost/process/detail/windows/async_pipe.hpp:340:63: error:
 'class boost::asio::windows::stream_handle' has no member named
 'get_io_context'
      _source =
 ::boost::asio::windows::stream_handle(source_in.get_io_context(), source);
 ^~~~~~~~~~~~~~
 boost\include/boost/process/detail/windows/async_pipe.hpp:341:61: error:
 'class boost::asio::windows::stream_handle' has no member named
 'get_io_context'
      _sink =
 ::boost::asio::windows::stream_handle(source_in.get_io_context(), sink);
 ^~~~~~~~~~~~~~
 In file included from boost\include/boost/process.hpp:24:0,
                  from src/testing/testing_main.cpp:7:
 boost\include/boost/process/async_system.hpp: In member function 'void
 boost::process::detail::async_system_handler<ExitHandler>::on_error(Exec&,
 const std::error_code&)':
 boost\include/boost/process/async_system.hpp:67:13: error: 'class
 boost::asio::io_context' has no member named 'post'; did you mean 'poll'?
          ios.post(
              ^~~~
              poll
 }}}

-- 
Ticket URL: <https://svn.boost.org/trac10/ticket/13552>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2018-04-30 13:11:02 UTC