On Sat Jan 27, 2018 at 04:07:59PM +0100, David Coppa wrote:
> Il 27 gen 2018 3:56 PM, "Jeremie Courreges-Anglas" <j...@wxcvbn.org> ha
> scritto:
> 
> On Fri, Jan 26 2018, Rafael Sadowski <raf...@sizeofvoid.org> wrote:
> > Hi All!
> 
> Hey,
> 
> > This time easier than last time and a relative easy update to the
> > current boost.
> >
> > Changelog: http://www.boost.org/users/history/version_1_66_0.html
> >
> > I did not build all consumers. Bulk feedback wanted.
> 
> I only tested a few deps on sparc64 so far.   devel/dlib and
> games/bastet* succeed, but net/kea** seems to suffer:
> 
> [...]
> c++ --std=c++11 -DHAVE_CONFIG_H -I. -I../../.. -I../../../src/lib
> -I../../../src/lib -I/usr/local/include -DOS_BSD -I../../../ext/coroutine
> -DBOOST_ASIO_HEADER_ONLY -DBOOST_ASIO_DISABLE_THREADS=1 -Wall -Wextra
> -Wnon-virtual-dtor -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare
> -pthread -Wno-missing-field-initializers -fPIC -O2 -pipe -MT
> libkea_asiolink_la-io_socket.lo -MD -MP -MF
> .deps/libkea_asiolink_la-io_socket.Tpo
> -c io_socket.cc -fPIC -DPIC -o .libs/libkea_asiolink_la-io_socket.o
> In file included from io_service.cc:9:0:
> ../../../src/lib/asiolink/io_service.h:14:11: error: using typedef-name
> 'boost::asio::io_service' after 'class'
>      class io_service;
>            ^
> In file included from /usr/local/include/boost/asio.hpp:69:0,
>                  from ../../../src/lib/asiolink/asio_wrapper.h:67,
>                  from io_service.cc:8:
> /usr/local/include/boost/asio/io_service.hpp:27:20: note:
> 'boost::asio::io_service' has a previous declaration here
>  typedef io_context io_service;
>                     ^
> In file included from ../../../src/lib/asiolink/interval_timer.h:13:0,
>                  from interval_timer.cc:9:
> ../../../src/lib/asiolink/io_service.h:14:11: error: using typedef-name
> 'boost::asio::io_service' after 'class'
>      class io_service;
>            ^
> In file included from /usr/local/include/boost/asio.hpp:69:0,
>                  from ../../../src/lib/asiolink/asio_wrapper.h:67,
>                  from interval_timer.cc:8:
> /usr/local/include/boost/asio/io_service.hpp:27:20: note:
> 'boost::asio::io_service' has a previous declaration here
>  typedef io_context io_service;
>                     ^
> Error while executing c++ --std=c++11 -DHAVE_CONFIG_H -I. -I../../..
> -I../../../src/lib -I../../../src/lib -I/usr/local/include -DOS_BSD
> -I../../../ext/coroutine -DBOOST_ASIO_HEADER_ONLY
> -DBOOST_ASIO_DISABLE_THREADS=1 -Wall -Wextra -Wnon-virtual-dtor
> -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -pthread
> -Wno-missing-field-initializers -fPIC -O2 -pipe -MT
> libkea_asiolink_la-io_service.lo -MD -MP -MF
> .deps/libkea_asiolink_la-io_service.Tpo
> -c io_service.cc -fPIC -DPIC -o .libs/libkea_asiolink_la-io_service.o
> *** Error 2 in target 'libkea_asiolink_la-io_service.lo'
> Error while executing c++ --std=c++11 -DHAVE_CONFIG_H -I. -I../../..
> -I../../../src/lib -I../../../src/lib -I/usr/local/include -DOS_BSD
> -I../../../ext/coroutine -DBOOST_ASIO_HEADER_ONLY
> -DBOOST_ASIO_DISABLE_THREADS=1 -Wall -Wextra -Wnon-virtual-dtor
> -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -pthread
> -Wno-missing-field-initializers -fPIC -O2 -pipe -MT
> libkea_asiolink_la-interval_timer.lo -MD -MP -MF
> .deps/libkea_asiolink_la-interval_timer.Tpo
> -c interval_timer.cc -fPIC -DPIC -o .libs/libkea_asiolink_la-
> interval_timer.o
> *** Error 1 in target 'libkea_asiolink_la-interval_timer.lo'
> mv -f .deps/libkea_asiolink_la-io_socket.Tpo .deps/libkea_asiolink_la-io_
> socket.Plo
> mv -f .deps/libkea_asiolink_la-io_endpoint.Tpo .deps/libkea_asiolink_la-io_
> endpoint.Plo
> *** Error 1 in src/lib/asiolink (Makefile:601 'libkea_asiolink_la-interval_
> timer.lo')
> *** Error 2 (Makefile:622 'libkea_asiolink_la-io_service.lo')
> *** Error 1 in src/lib/asiolink (Makefile:701 'all-recursive')
> *** Error 1 in src/lib (Makefile:431 'all-recursive')
> *** Error 1 in src (Makefile:432 'all-recursive')
> *** Error 1 in . (Makefile:600 'all-recursive')
> *** Error 2 in /usr/ports/pobj/kea-1.2.0/kea-1.2.0 (Makefile:441 'all')
> *** Error 2 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2742
> '/usr/ports/pobj/kea-1.2.0/.build_done')
> *** Error 1 in /usr/ports/net/kea (/usr/ports/infrastructure/mk/
> bsd.port.mk:2419 'all')
> 
> 
> https://git.archlinux.org/svntogit/community.git/plain/trunk/asiolink-fix-build-with-boost-1.66.patch?h=packages/kea
> 
> Ciao,
> David

Thank you both! FreeBSD applied the same patch.


Index: Makefile
===================================================================
RCS file: /cvs/ports/net/kea/Makefile,v
retrieving revision 1.12
diff -u -p -u -p -r1.12 Makefile
--- Makefile    14 Jan 2018 14:42:18 -0000      1.12
+++ Makefile    28 Jan 2018 09:12:35 -0000
@@ -6,7 +6,7 @@ VERSION=        1.2.0
 
 DISTNAME=      kea-${VERSION}
 PKGNAME=       ${DISTNAME:S/-P/pl/}
-REVISION=      1
+REVISION=      2
 
 SHARED_LIBS +=  kea-asiodns               0.0 # 0.0
 SHARED_LIBS +=  kea-asiolink              2.0 # 4.0
Index: patches/patch-src_lib_asiolink_io_service_h
===================================================================
RCS file: patches/patch-src_lib_asiolink_io_service_h
diff -N patches/patch-src_lib_asiolink_io_service_h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_lib_asiolink_io_service_h 28 Jan 2018 09:12:35 -0000
@@ -0,0 +1,21 @@
+$OpenBSD$
+
+fix build with boost 1.66
+- use io_context instead of io_service
+
+Index: src/lib/asiolink/io_service.h
+--- src/lib/asiolink/io_service.h.orig
++++ src/lib/asiolink/io_service.h
+@@ -11,7 +11,12 @@
+ 
+ namespace boost {
+ namespace asio {
++#if BOOST_VERSION < 106600
+     class io_service;
++#else
++    class io_context;
++    typedef io_context io_service;
++#endif
+ }
+ }
+ 
Index: patches/patch-src_lib_asiolink_tcp_acceptor_h
===================================================================
RCS file: patches/patch-src_lib_asiolink_tcp_acceptor_h
diff -N patches/patch-src_lib_asiolink_tcp_acceptor_h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_lib_asiolink_tcp_acceptor_h       28 Jan 2018 09:12:35 
-0000
@@ -0,0 +1,20 @@
+$OpenBSD$
+
+fix build with boost 1.66
+- use native_handle() for getting native socket type
+
+Index: src/lib/asiolink/tcp_acceptor.h
+--- src/lib/asiolink/tcp_acceptor.h.orig
++++ src/lib/asiolink/tcp_acceptor.h
+@@ -44,7 +44,11 @@ class TCPAcceptor : public IOSocket { (public)
+ 
+     /// @brief Returns file descriptor of the underlying socket.
+     virtual int getNative() const final {
++#if BOOST_VERSION < 106600
+         return (acceptor_->native());
++#else
++        return (acceptor_->native_handle());
++#endif
+     }
+ 
+     /// @brief Returns protocol of the socket.
Index: patches/patch-src_lib_asiolink_tcp_socket_h
===================================================================
RCS file: patches/patch-src_lib_asiolink_tcp_socket_h
diff -N patches/patch-src_lib_asiolink_tcp_socket_h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_lib_asiolink_tcp_socket_h 28 Jan 2018 09:12:35 -0000
@@ -0,0 +1,20 @@
+$OpenBSD$
+
+fix build with boost 1.66
+- use native_handle() for getting native socket type
+
+Index: src/lib/asiolink/tcp_socket.h
+--- src/lib/asiolink/tcp_socket.h.orig
++++ src/lib/asiolink/tcp_socket.h
+@@ -75,7 +75,11 @@ class TCPSocket : public IOAsioSocket<C> { (public)
+ 
+     /// \brief Return file descriptor of underlying socket
+     virtual int getNative() const {
++#if BOOST_VERSION < 106600
+         return (socket_.native());
++#else
++        return (socket_.native_handle());
++#endif
+     }
+ 
+     /// \brief Return protocol of socket
Index: patches/patch-src_lib_asiolink_udp_socket_h
===================================================================
RCS file: patches/patch-src_lib_asiolink_udp_socket_h
diff -N patches/patch-src_lib_asiolink_udp_socket_h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_lib_asiolink_udp_socket_h 28 Jan 2018 09:12:35 -0000
@@ -0,0 +1,20 @@
+$OpenBSD$
+
+fix build with boost 1.66
+- use native_handle() for getting native socket type
+
+Index: src/lib/asiolink/udp_socket.h
+--- src/lib/asiolink/udp_socket.h.orig
++++ src/lib/asiolink/udp_socket.h
+@@ -61,7 +61,11 @@ class UDPSocket : public IOAsioSocket<C> { (public)
+ 
+     /// \brief Return file descriptor of underlying socket
+     virtual int getNative() const {
++#if BOOST_VERSION < 106600
+         return (socket_.native());
++#else
++        return (socket_.native_handle());
++#endif
+     }
+ 
+     /// \brief Return protocol of socket
Index: patches/patch-src_lib_asiolink_unix_domain_socket_cc
===================================================================
RCS file: patches/patch-src_lib_asiolink_unix_domain_socket_cc
diff -N patches/patch-src_lib_asiolink_unix_domain_socket_cc
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_lib_asiolink_unix_domain_socket_cc        28 Jan 2018 
09:12:35 -0000
@@ -0,0 +1,20 @@
+$OpenBSD$
+
+fix build with boost 1.66
+- use native_handle() for getting native socket type
+
+Index: src/lib/asiolink/unix_domain_socket.cc
+--- src/lib/asiolink/unix_domain_socket.cc.orig
++++ src/lib/asiolink/unix_domain_socket.cc
+@@ -48,7 +48,11 @@ UnixDomainSocket::UnixDomainSocket(IOService& io_servi
+ 
+ int
+ UnixDomainSocket::getNative() const {
++#if BOOST_VERSION < 106600
+     return (impl_->socket_.native());
++#else
++    return (impl_->socket_.native_handle());
++#endif
+ }
+ 
+ int

Reply via email to