Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 5 Aug 2013 04:03:32 GMT
From:      Pedro Giffuni <giffunip@tutopia.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/181044: Problems with devel/boost-libs
Message-ID:  <201308050403.r7543WKe022578@oldred.freebsd.org>
Resent-Message-ID: <201308050410.r754A0R7038394@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         181044
>Category:       ports
>Synopsis:       Problems with devel/boost-libs
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Mon Aug 05 04:10:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Pedro Giffuni
>Release:        9.2-PRERELEASE
>Organization:
>Environment:
FreeBSD pcbsd-1465 9.2-PRERELEASE FreeBSD 9.2-PRERELEASE #2 r253398M: Tue Jul 16 16:26:12 COT 2013     pfg@pcbsd-1465:/usr/obj/usr/src/sys/DELL  amd64

>Description:
While doing development on apache OpenOffice I noticed:

1) We actually lack long double support: This depends on
some more C99 support that we currently don't have but is being worked on. 

2) We have problems with #include_next. This support is rarely used
and it went undetected in FreeBSD and OS2 (at least). The issue
was reported upstream as issue #8944.

>How-To-Repeat:

>Fix:
- For the time being we should remove:
files/patch-freebsd-has-long-double
- The patch from issue #8944 has been committed upstream.

I understand an update on the port is being worked on.
For convenience I submit here my patch to fix both issues.  

Patch attached with submission follows:

Index: boost-libs/files/patch-freebsd-has-long-double
===================================================================
--- boost-libs/files/patch-freebsd-has-long-double	(revision 324258)
+++ boost-libs/files/patch-freebsd-has-long-double	(working copy)
@@ -1,11 +0,0 @@
---- boost/math/tools/config.hpp.orig	2013-01-28 17:44:35.430492446 +0000
-+++ boost/math/tools/config.hpp	2013-01-28 17:44:51.480492935 +0000
-@@ -24,7 +24,7 @@
- #include <boost/math/tools/user.hpp>
- #include <boost/math/special_functions/detail/round_fwd.hpp>
- 
--#if (defined(__CYGWIN__) || defined(__FreeBSD__) || defined(__NetBSD__) \
-+#if (defined(__CYGWIN__) || defined(__NetBSD__) \
-    || (defined(__hppa) && !defined(__OpenBSD__)) || (defined(__NO_LONG_DOUBLE_MATH) && (DBL_MANT_DIG != LDBL_MANT_DIG))) \
-    && !defined(BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS)
- #  define BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
Index: boost-libs/files/patch-include-next
===================================================================
--- boost-libs/files/patch-include-next	(revision 0)
+++ boost-libs/files/patch-include-next	(working copy)
@@ -0,0 +1,30 @@
+--- boost/tr1/detail/config.hpp.orig	2010-06-12 04:30:03.000000000 -0500
++++ boost/tr1/detail/config.hpp	2013-07-30 14:26:57.000000000 -0500
+@@ -9,6 +9,7 @@
+ #include <cstddef>
+ 
+ #if (defined(__GNUC__) && !(defined(linux) || defined(__linux) || defined(__linux__))) \
++   || (!defined(__FreeBSD__)) \
+    || (!defined(_AIX) && defined(__IBMCPP__)  && (__IBMCPP__ >= 800)) 
+    // Disable use of #include_next on Linux as typically we are installed in a 
+    // directory that is searched *after* the std lib include path.
+--- boost/tr1/detail/config_all.hpp.orig	2011-07-25 04:28:58.000000000 -0500
++++ boost/tr1/detail/config_all.hpp	2013-07-30 15:31:10.000000000 -0500
+@@ -85,6 +85,8 @@
+ #  elif defined(__GNUC__) && __GNUC__ >= 3
+ #    if defined(BOOST_TR1_GCC_INCLUDE_PATH)
+ #      define BOOST_TR1_STD_HEADER(name) <../BOOST_TR1_GCC_INCLUDE_PATH/name>
++#    elif (defined(__FreeBSD__))
++#      define BOOST_TR1_STD_HEADER(name) <../__GNUC__.__GNUC_MINOR__/name>
+ #    elif ( (__GNUC__ == 3 ) && ((__GNUC_MINOR__ == 0) || ((__GNUC_MINOR__ < 3) && defined(__APPLE_CC__))))
+ #      define BOOST_TR1_STD_HEADER(name) <../g++-v3/name>
+ #    else
+@@ -107,7 +109,7 @@
+ #    endif
+ 
+ #      if !defined(BOOST_TR1_DISABLE_INCLUDE_NEXT) && !defined(__ICC) \
+-            && (defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__))
++            && (defined(__FreeBSD__) || defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__))
+          // Disable use of #include_next on Linux as typically we are installed in a directory that is searched
+          // *after* the std lib include path:
+ #        define BOOST_TR1_DISABLE_INCLUDE_NEXT


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201308050403.r7543WKe022578>