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