So, I was having a look at this libtorrent-rasterbar thing and found
a problem in devel/boost that needs to be fixed:

In file included from /usr/local/include/boost/asio/ssl/context.hpp:786,
                 from ../include/libtorrent/tracker_manager.hpp:54,
                 from ../include/libtorrent/torrent.hpp:59,
                 from ../include/libtorrent/web_connection_base.hpp:63,
                 from web_connection_base.cpp:44:
/usr/local/include/boost/asio/ssl/impl/context.ipp: In constructor 
'boost::asio::ssl::context::context(boost::asio::ssl::context_base::method)':
/usr/local/include/boost/asio/ssl/impl/context.ipp:93: error: '::SSLv3_method' 
has not been declared
/usr/local/include/boost/asio/ssl/impl/context.ipp:96: error: 
'::SSLv3_client_method' has not been declared
/usr/local/include/boost/asio/ssl/impl/context.ipp:99: error: 
'::SSLv3_server_method' has not been declared

This went unnoticed since the removal of SSLv3 support, probably
because no ports use Boost.Asio ...

OK for the diff below?

Cheers!
David

---8<---

Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/boost/Makefile,v
retrieving revision 1.56
diff -u -p -u -p -r1.56 Makefile
--- Makefile    3 Aug 2015 18:29:30 -0000       1.56
+++ Makefile    27 May 2016 07:59:09 -0000
@@ -5,7 +5,7 @@ ONLY_FOR_ARCHS= ${GCC4_ARCHS}
 COMMENT=       free peer-reviewed portable C++ source libraries
 
 VERSION=       1.58.0
-REVISION=      0
+REVISION=      1
 DISTNAME=      boost_${VERSION:S/./_/g}
 PKGNAME=       boost-${VERSION}
 CATEGORIES=    devel
Index: patches/patch-boost_asio_ssl_impl_context_ipp
===================================================================
RCS file: patches/patch-boost_asio_ssl_impl_context_ipp
diff -N patches/patch-boost_asio_ssl_impl_context_ipp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-boost_asio_ssl_impl_context_ipp       27 May 2016 07:59:09 
-0000
@@ -0,0 +1,27 @@
+$OpenBSD$
+--- boost/asio/ssl/impl/context.ipp.orig       Thu May 26 21:12:34 2016
++++ boost/asio/ssl/impl/context.ipp    Thu May 26 21:20:25 2016
+@@ -89,7 +89,15 @@ context::context(context::method m)
+     handle_ = ::SSL_CTX_new(::SSLv2_server_method());
+     break;
+ #endif // defined(OPENSSL_NO_SSL2)
++#if defined(OPENSSL_NO_SSL3)
+   case context::sslv3:
++  case context::sslv3_client:
++  case context::sslv3_server:
++    boost::asio::detail::throw_error(
++        boost::asio::error::invalid_argument, "context");
++    break;
++#else // defined(OPENSSL_NO_SSL3)
++  case context::sslv3:
+     handle_ = ::SSL_CTX_new(::SSLv3_method());
+     break;
+   case context::sslv3_client:
+@@ -98,6 +106,7 @@ context::context(context::method m)
+   case context::sslv3_server:
+     handle_ = ::SSL_CTX_new(::SSLv3_server_method());
+     break;
++#endif // defined(OPENSSL_NO_SSL3)
+   case context::tlsv1:
+     handle_ = ::SSL_CTX_new(::TLSv1_method());
+     break;
Index: patches/patch-boost_asio_ssl_old_detail_openssl_context_service_hpp
===================================================================
RCS file: patches/patch-boost_asio_ssl_old_detail_openssl_context_service_hpp
diff -N patches/patch-boost_asio_ssl_old_detail_openssl_context_service_hpp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-boost_asio_ssl_old_detail_openssl_context_service_hpp 27 May 
2016 07:59:09 -0000
@@ -0,0 +1,26 @@
+$OpenBSD$
+--- boost/asio/ssl/old/detail/openssl_context_service.hpp.orig Thu May 26 
21:14:44 2016
++++ boost/asio/ssl/old/detail/openssl_context_service.hpp      Thu May 26 
21:22:22 2016
+@@ -85,7 +85,14 @@ class openssl_context_service (public)
+       impl = ::SSL_CTX_new(::SSLv2_server_method());
+       break;
+ #endif // defined(OPENSSL_NO_SSL2)
++#if defined(OPENSSL_NO_SSL3)
+     case context_base::sslv3:
++    case context_base::sslv3_client:
++    case context_base::sslv3_server:
++      boost::asio::detail::throw_error(boost::asio::error::invalid_argument);
++      break;
++#else // defined(OPENSSL_NO_SSL3)
++    case context_base::sslv3:
+       impl = ::SSL_CTX_new(::SSLv3_method());
+       break;
+     case context_base::sslv3_client:
+@@ -94,6 +101,7 @@ class openssl_context_service (public)
+     case context_base::sslv3_server:
+       impl = ::SSL_CTX_new(::SSLv3_server_method());
+       break;
++#endif // defined(OPENSSL_NO_SSL3)
+     case context_base::tlsv1:
+       impl = ::SSL_CTX_new(::TLSv1_method());
+       break;

---8<---

> On Thu, 26 May 2016, Thuban wrote:
> 
> Hi,
> I'm trying to build libtorrent [1], but can't figure out how to have
> ./configure detect boost library.
> 
> So, I always have such output :
> 
>     configure: We could not detect the boost libraries (version 1.47 or
> higher). If you have a staged boost library (still not installed) please
> specify $BOOST_ROOT in your environment and do not give a PATH to --with-boost
> option.  If you are sure you have boost installed, then check your version
> number looking in <boost/version.hpp>. See http://randspringer.de/boost for
> more documentation.
>     checking whether the Boost::System library is available... no
> 
> 
> (yes, boost is installed)
> 
> 
> I have these environment variables :
> 
>     export LDFLAGS="-L /usr/lib -L/usr/local/lib"
>     export CXXFLAGS="-I /usr/include -I/usr/local/include"
> 
> I even tried to find any clue in freeBSD without luck.
> 
> 
> Do you have any advice?
> 
> Regards
> 
> 
> [1] : http://libtorrent.org/building.html
> [2] :
> https://svnweb.freebsd.org/ports/head/net-p2p/libtorrent-rasterbar/Makefile?v
> iew=markup
> 
> --
> /Thuban/

Reply via email to