Skip to content

Program fails to compile after including header : <boost/process.hpp> #92

@kkumar45

Description

@kkumar45

I am facing an issue while upgrading to Boost 1.70.0. There are many files in my project that includes <boost/process.hpp>.

I have written a program that demonstrates the problem.

#include <boost/process.hpp>

int main()
{
    return 0;
}

Compilation line :
g++ -std=c++14 test_process.hpp -Iboost_1_70_0 -DBOOST_ASIO_ENABLE_OLD_SERVICES

My program fails to compile with below error:

In file included from boost_1_70_0/boost/process/detail/async_handler.hpp:16:0,
                 from boost_1_70_0/boost/process/async_system.hpp:23,
                 from boost_1_70_0/boost/process.hpp:24,
                 from test_process.hpp:1:
boost_1_70_0/boost/process/detail/posix/asio_fwd.hpp:33:46: error: conflicting declaration ‘typedef class boost::asio::basic_signal_set<boost::asio::signal_set_service> boost::asio::signal_set’
 typedef basic_signal_set<signal_set_service> signal_set;
                                              ^~~~~~~~~~
In file included from boost_1_70_0/boost/process/detail/posix/sigchld_service.hpp:12:0,
                 from boost_1_70_0/boost/process/detail/posix/io_context_ref.hpp:20,
                 from boost_1_70_0/boost/process/async.hpp:42,
                 from boost_1_70_0/boost/process.hpp:23,
                 from test_process.hpp:1:
boost_1_70_0/boost/asio/signal_set.hpp:25:28: note: previous declaration as ‘typedef class boost::asio::basic_signal_set<> boost::asio::signal_set’
 typedef basic_signal_set<> signal_set;
                            ^~~~~~~~~~
In file included from boost_1_70_0/boost/process/detail/async_handler.hpp:16:0,
                 from boost_1_70_0/boost/process/async_system.hpp:23,
                 from boost_1_70_0/boost/process.hpp:24,
                 from test_process.hpp:1:
boost_1_70_0/boost/process/detail/posix/asio_fwd.hpp:50:60: error: conflicting declaration ‘typedef class boost::asio::posix::basic_stream_descriptor<boost::asio::posix::stream_descriptor_service> boost::asio::posix::stream_descriptor’
 typedef basic_stream_descriptor<stream_descriptor_service> stream_descriptor;
                                                            ^~~~~~~~~~~~~~~~~
In file included from boost_1_70_0/boost/process/detail/posix/async_pipe.hpp:11:0,
                 from boost_1_70_0/boost/process/async_pipe.hpp:18,
                 from boost_1_70_0/boost/process/detail/posix/async_in.hpp:16,
                 from boost_1_70_0/boost/process/async.hpp:43,
                 from boost_1_70_0/boost/process.hpp:23,
                 from test_process.hpp:1:
boost_1_70_0/boost/asio/posix/stream_descriptor.hpp:30:35: note: previous declaration as ‘typedef class boost::asio::posix::basic_stream_descriptor<> boost::asio::posix::stream_descriptor’
 typedef basic_stream_descriptor<> stream_descriptor;

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions