ROOT 6.32.04
Built for linuxx8664gcc on Aug 14 2024, 04:01:00
From tags/v6-32-04@v6-32-04
With c++ (Ubuntu 13.2.0-23ubuntu4) 13.2.0
Dear ROOT Team,
TLDR;
I tried to use Boost.Asio with ROOT. And I got an access issue:
[...] error: 'impl_type' is a private member of 'boost::asio::io_context'
io_context::impl_type& [...]
ROOT 6.32
Here are the instructions to reproduce the error with Docker:
$ docker run -it rootproject/root bash
root@6a9d1cebd5fe:/opt# apt install -y libboost-dev
[...]
root@6a9d1cebd5fe:/opt# root -e "#include <boost/asio.hpp>"
------------------------------------------------------------------
| Welcome to ROOT 6.32.04 https://root.cern |
| (c) 1995-2024, The ROOT Team; conception: R. Brun, F. Rademakers |
| Built for linuxx8664gcc on Aug 14 2024, 04:01:00 |
| From tags/v6-32-04@v6-32-04 |
| With c++ (Ubuntu 13.2.0-23ubuntu4) 13.2.0 |
| Try '.help'/'.?', '.demo', '.license', '.credits', '.quit'/'.q' |
------------------------------------------------------------------
root [0]
In file included from ROOT_cli_0:1:
In file included from /usr/include/boost/asio.hpp:21:
In file included from /usr/include/boost/asio/any_completion_handler.hpp:28:
In file included from /usr/include/boost/asio/associated_cancellation_slot.hpp:20:
In file included from /usr/include/boost/asio/cancellation_signal.hpp:304:
/usr/include/boost/asio/impl/cancellation_signal.ipp:82:20: error: 'auto_delete_helper' is a private member of 'boost::asio::cancellation_slot'
cancellation_slot::auto_delete_helper::~auto_delete_helper()
^
/usr/include/boost/asio/cancellation_signal.hpp:283:10: note: declared private here
struct auto_delete_helper
^
In file included from ROOT_cli_0:1:
In file included from /usr/include/boost/asio.hpp:32:
In file included from /usr/include/boost/asio/basic_datagram_socket.hpp:20:
In file included from /usr/include/boost/asio/basic_socket.hpp:22:
In file included from /usr/include/boost/asio/detail/io_object_impl.hpp:23:
In file included from /usr/include/boost/asio/io_context.hpp:1525:
/usr/include/boost/asio/impl/io_context.ipp:49:13: error: 'impl_type' is a private member of 'boost::asio::io_context'
io_context::impl_type& io_context::add_impl(io_context::impl_type* impl)
^
/usr/include/boost/asio/io_context.hpp:199:35: note: declared private here
typedef detail::io_context_impl impl_type;
^
root [1] .q
root@6a9d1cebd5fe:/opt#
ROOT 6.30
A previous version of ROOT didn’t encounter this issue, e.g.:
$ docker run -it rootproject/root:6.30.06-ubuntu22.04 bash
root@00af6dd3723e:/opt# apt install -y libboost-dev
[...]
root@00af6dd3723e:/opt# root -e "#include <boost/asio.hpp>"
------------------------------------------------------------------
| Welcome to ROOT 6.30/06 https://root.cern |
| (c) 1995-2024, The ROOT Team; conception: R. Brun, F. Rademakers |
| Built for linuxx8664gcc on Apr 03 2024, 10:42:17 |
| From tags/v6.30.06-0-g4f4e716372@v6.30.06-0-g4f4e716372 |
| With c++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 |
| Try '.help'/'.?', '.demo', '.license', '.credits', '.quit'/'.q' |
------------------------------------------------------------------
root [0]
root [1] .q
root@00af6dd3723e:/opt#
Do you know how to solve this problem?
Best Regards,
Salomon