Date: Wed, 7 Nov 2018 02:47:38 +0000 (UTC) From: Jan Beich <jbeich@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r484377 - in head/devel/boost-libs: . files Message-ID: <201811070247.wA72lcZs061511@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jbeich Date: Wed Nov 7 02:47:38 2018 New Revision: 484377 URL: https://svnweb.freebsd.org/changeset/ports/484377 Log: devel/boost-libs: unbreak some C++14 consumers with GCC after r479222 Boost 1.68 changed System ABI[1] for C++14 but due to a GCC bug it's disabled for C++ >= 17. As our Boost package is built in C++17 consumers cannot use C++14. So, disable the new ABI for the affected GCC versions regardless of C++ standard. [1] https://github.com/boostorg/system/commit/7b6dcf6ac668 PR: 231447 Reported by: Piotr Kubaj Added: head/devel/boost-libs/files/patch-boost_system_error__code.hpp (contents, props changed) Modified: head/devel/boost-libs/Makefile (contents, props changed) Modified: head/devel/boost-libs/Makefile ============================================================================== --- head/devel/boost-libs/Makefile Wed Nov 7 01:08:38 2018 (r484376) +++ head/devel/boost-libs/Makefile Wed Nov 7 02:47:38 2018 (r484377) @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME= boost-libs -PORTREVISION= 2 +PORTREVISION= 3 COMMENT= Free portable C++ libraries (without Boost.Python) Added: head/devel/boost-libs/files/patch-boost_system_error__code.hpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/boost-libs/files/patch-boost_system_error__code.hpp Wed Nov 7 02:47:38 2018 (r484377) @@ -0,0 +1,35 @@ +Boost.System built in C++ >= 17 doesn't support C++14 consumers with GCC 7.3 + +$ cat >a.cc +#include <boost/system/error_code.hpp> + +int main() +{ + boost::system::error_code e; + e.clear(); + return 0; +} + +$ g++7 -std=gnu++98 -lboost_system a.cc +$ g++7 -std=gnu++03 -lboost_system a.cc +$ g++7 -std=gnu++11 -lboost_system a.cc +$ g++7 -std=gnu++17 -lboost_system a.cc +$ g++7 -std=gnu++14 -lboost_system a.cc +/tmp//cciZnzeq.o: In function `main': +a.cc:(.text+0x24): undefined reference to `boost::system::detail::system_category_instance' +/tmp//cciZnzeq.o: In function `boost::system::system_category()': +a.cc:(.text._ZN5boost6system15system_categoryEv[_ZN5boost6system15system_categoryEv]+0x5): undefined reference to `boost::system::detail::system_category_instance' +/tmp//cciZnzeq.o: In function `boost::system::generic_category()': +a.cc:(.text._ZN5boost6system16generic_categoryEv[_ZN5boost6system16generic_categoryEv]+0x5): undefined reference to `boost::system::detail::generic_category_instance' + +--- boost/system/error_code.hpp.orig 2018-08-01 20:50:53 UTC ++++ boost/system/error_code.hpp +@@ -43,7 +43,7 @@ + # define BOOST_SYSTEM_HAS_CONSTEXPR + #endif + +-#if defined(__GNUC__) && (__GNUC__ == 7 && __GNUC_MINOR__ < 4) && __cplusplus >= 201700L ++#if defined(__GNUC__) && (__GNUC__ == 7 && __GNUC_MINOR__ < 4) + // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83835 + # undef BOOST_SYSTEM_HAS_CONSTEXPR + #endif
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201811070247.wA72lcZs061511>