|
Boost : |
Subject: [boost] [container] variadic template support in g++ 4.5.1
From: Richard Hadsell (hadsell_at_[hidden])
Date: 2014-08-20 11:40:31
I am trying to compile some of our code with Boost 1.56.0 on a Linux (Fedora 14) platform with this compiler:
gcc version 4.5.1 20100924 (Red Hat 4.5.1-4)
I apologize for using this ancient version of g++, but we're stuck with it for a while longer.
I get this error message:
In file included from .../boost/circular_buffer/details.hpp:19:0,
from .../boost/circular_buffer.hpp:56,
from ...:
/netDISKS/master/netmt/LINUX_INTF14/cgi/boost/1.56.0/Include/libboost/boost/container/allocator_traits.hpp: In static member function 'static void boost::container::allocator_traits<Alloc>::priv_construct(boost::false_type, Alloc&, T*, const Args& ...)':
/netDISKS/master/netmt/LINUX_INTF14/cgi/boost/1.56.0/Include/libboost/boost/container/allocator_traits.hpp:324:43: sorry, unimplemented: cannot expand 'Args ...' into a fixed-length argument list
/netDISKS/master/netmt/LINUX_INTF14/cgi/boost/1.56.0/Include/libboost/boost/container/allocator_traits.hpp:325:51: error: 'value' is not a valid template argument for type 'bool' because it is a non-constant expression
/netDISKS/master/netmt/LINUX_INTF14/cgi/boost/1.56.0/Include/libboost/boost/container/allocator_traits.hpp:325:57: error: invalid type in declaration before ';' token
Line 324 is in a block guarded by: #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
config/compiler/gcc.hpp defines BOOST_NO_CXX11_VARIADIC_TEMPLATES for g++ earlier than 4.4, which means it believes the code should be valid for 4.5.1.
Is there already a fix for this in development? Please, tell me what to do with my copy of 1.56.0.
-- Dick Hadsell 203-992-6320 Fax: 203-992-6001 Reply-to: hadsell_at_[hidden] Blue Sky Studios http://www.blueskystudios.com 1 American Lane, Greenwich, CT 06831-2560
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk