pkgsrc-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: pkg/48388 (devel/boost-libs fails to build on NetBSD-6.1.2/amd64)
The following reply was made to PR pkg/48388; it has been noted by GNATS.
From: Richard PALO <richard.palo%free.fr@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc:
Subject: Re: pkg/48388 (devel/boost-libs fails to build on NetBSD-6.1.2/amd64)
Date: Wed, 20 Nov 2013 11:18:53 +0100
Le 18/11/13 15:47, wiz%NetBSD.org@localhost a écrit :
> Synopsis: devel/boost-libs fails to build on NetBSD-6.1.2/amd64
>
> Responsible-Changed-From-To: pkg-manager->adam
> Responsible-Changed-By: wiz%NetBSD.org@localhost
> Responsible-Changed-When: Mon, 18 Nov 2013 14:47:14 +0000
> Responsible-Changed-Why:
> Same on NetBSD-6.99.24/amd64 and Solaris and at least some versions of OS X.
>
>
>
>
As I indicated last week, I've been using 1_55_0 for a while on solaris,
but with the following patch to boost-jam/bjam.mk:
richard@x3200:~/src/pkgsrc$ git diff devel/boost-jam/
diff --git a/devel/boost-jam/bjam.mk b/devel/boost-jam/bjam.mk
index 9de8785..bc74bf4 100644
--- a/devel/boost-jam/bjam.mk
+++ b/devel/boost-jam/bjam.mk
@@ -17,8 +17,14 @@ BJAM_ARGS+= --disable-long-double
BJAM_ARGS+= ${BJAM_BUILD}
# GCC 4.4 and above needs this
.include "../../mk/compiler.mk"
-.if !empty(PKGSRC_COMPILER:Mgcc) && !empty(CC_VERSION:Mgcc-4.[4-7]*)
+.if !empty(PKGSRC_COMPILER:Mgcc)
+. if !empty(CC_VERSION:Mgcc-4.[4-7]*)
BJAM_ARGS+= cxxflags=-std=c++0x
+CXXFLAGS.SunOS+= -std=c++0x
+. else !empty(CC_VERSION:Mgcc-4.[89]*)
+BJAM_ARGS+= cxxflags=-std=c++11
+CXXFLAGS.SunOS+= -std=c++11
+. endif
.endif
#
.if !empty(PKGSRC_COMPILER:Mclang)
Since boost-headers uses configure to determine user.hpp, I don't
understand how any platform supports the defaults...
The following is the diff between a 'bad' and a 'good' user.hpp
> richard@x3200:~/src$ cat user.diff
> --- user.hpp.bad 2013-11-20 10:30:46.969387228 +0100
> +++ user.hpp.good 2013-11-20 10:48:58.067411485 +0100
> @@ -5,10 +5,10 @@
> //
> // Use this file to define a site and compiler specific
> // configuration policy, this version was auto-generated by
> -// configure on Wed Nov 20 09:20:49 UTC 2013
> +// configure on Wed Nov 20 09:48:43 UTC 2013
> // With the following options:
> // CXX = g++
> -// CXXFLAGS = -I./../.. -I./../../libs/config/test -O2
> -I/opt/local/include -I/usr/include -DBOOST_NO_CONFIG
> +// CXXFLAGS = -I./../.. -I./../../libs/config/test -O2
> -I/opt/local/include -I/usr/include -std=c++11 -DBOOST_NO_CONFIG
> // LDFLAGS = -L/opt/local/gcc48/lib/gcc/i386-sun-solaris2.11/4.8.2
> -Wl,-R/opt/local/gcc48/lib/gcc/i386-sun-solaris2.11/4.8.2
> -L/opt/local/gcc48/lib -Wl,-R/opt/local/gcc48/lib -L/opt/local/lib
> -L/usr/lib -Wl,-R/usr/lib -Wl,-R/opt/local/lib
> // LIBS = -lrt -lm -lpthread
> //
> @@ -39,9 +39,13 @@
> #define BOOST_MSVC6_MEMBER_TEMPLATES
> #define BOOST_HAS_VARIADIC_TMPL
> #define BOOST_HAS_UNISTD_H
> +#define BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG
> +#define BOOST_HAS_TR1_COMPLEX_OVERLOADS
> #define BOOST_HAS_STDINT_H
> +#define BOOST_HAS_STATIC_ASSERT
> #define BOOST_HAS_SIGACTION
> #define BOOST_HAS_SCHED_YIELD
> +#define BOOST_HAS_RVALUE_REFS
> #define BOOST_HAS_PTHREADS
> #define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
> #define BOOST_HAS_PARTIAL_STD_ALLOCATOR
> @@ -54,53 +58,7 @@
> #define BOOST_HAS_EXPM1
> #define BOOST_HAS_DIRENT_H
> #define BOOST_HAS_CLOCK_GETTIME
> -#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
> -#define BOOST_NO_CXX11_UNICODE_LITERALS
> -#define BOOST_NO_CXX11_TEMPLATE_ALIASES
> -#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
> -#define BOOST_NO_CXX11_STATIC_ASSERT
> -#define BOOST_NO_CXX11_SCOPED_ENUMS
> -#define BOOST_NO_CXX11_RVALUE_REFERENCES
> -#define BOOST_NO_CXX11_RAW_LITERALS
> -#define BOOST_NO_CXX11_RANGE_BASED_FOR
> -#define BOOST_NO_CXX11_NULLPTR
> -#define BOOST_NO_CXX11_NOEXCEPT
> -#define BOOST_NO_CXX11_LAMBDAS
> #define BOOST_NO_MS_INT64_NUMERIC_LIMITS
> -#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
> -#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
> -#define BOOST_NO_CXX11_DELETED_FUNCTIONS
> -#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
> -#define BOOST_NO_CXX11_DECLTYPE_N3276
> -#define BOOST_NO_CXX11_DECLTYPE
> -#define BOOST_NO_CXX11_HDR_FUNCTIONAL
> -#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
> -#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
> -#define BOOST_NO_CXX11_SMART_PTR
> -#define BOOST_NO_CXX11_NUMERIC_LIMITS
> -#define BOOST_NO_CXX11_HDR_UNORDERED_SET
> -#define BOOST_NO_CXX11_HDR_UNORDERED_MAP
> -#define BOOST_NO_CXX11_HDR_TYPEINDEX
> #define BOOST_NO_CXX11_HDR_TYPE_TRAITS
> -#define BOOST_NO_CXX11_HDR_TUPLE
> -#define BOOST_NO_CXX11_HDR_THREAD
> -#define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
> -#define BOOST_NO_CXX11_HDR_REGEX
> -#define BOOST_NO_CXX11_HDR_RATIO
> -#define BOOST_NO_CXX11_HDR_RANDOM
> -#define BOOST_NO_CXX11_HDR_MUTEX
> -#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
> -#define BOOST_NO_CXX11_HDR_FUTURE
> -#define BOOST_NO_CXX11_HDR_FORWARD_LIST
> -#define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
> #define BOOST_NO_CXX11_HDR_CODECVT
> -#define BOOST_NO_CXX11_HDR_CHRONO
> -#define BOOST_NO_CXX11_HDR_ARRAY
> #define BOOST_NO_CXX11_ATOMIC_SMART_PTR
> -#define BOOST_NO_CXX11_ALLOCATOR
> -#define BOOST_NO_CXX11_ALIGNAS
> -#define BOOST_NO_CXX11_CONSTEXPR
> -#define BOOST_NO_CXX11_CHAR32_T
> -#define BOOST_NO_CXX11_CHAR16_T
> -#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
> -#define BOOST_NO_CXX11_AUTO_DECLARATIONS
> richard@x3200:~/src$
BTW, all the BOOST_* options seem the same between std=c++0x and
std=c++11 with gcc-4.8.2.
Not to mention that if 'icu' is in default options, the following is
still needed:
> richard@x3200:~/src/pkgsrc$ git diff master devel/boost-libs
> diff --git a/devel/boost-libs/PLIST.SunOS b/devel/boost-libs/PLIST.SunOS
> index ad3a4b7..0b491fc 100644
> --- a/devel/boost-libs/PLIST.SunOS
> +++ b/devel/boost-libs/PLIST.SunOS
> @@ -5,3 +5,7 @@ lib/libboost_math_c99l.so.${BOOST_VERSION}
> lib/libboost_math_tr1l.a
> lib/libboost_math_tr1l.so
> lib/libboost_math_tr1l.so.${BOOST_VERSION}
> +lib/libboost_locale.a
> +lib/libboost_locale.so
> +lib/libboost_locale.so.${BOOST_VERSION}
Home |
Main Index |
Thread Index |
Old Index