File glucat-build-with-updated-boost.patch of Package glucat
diff -rub glucat-0.7.1/glucat/framed_multi.h glucat-0.7.1.patched/glucat/framed_multi.h
--- glucat-0.7.1/glucat/framed_multi.h 2012-10-10 23:49:20.000000000 +1100
+++ glucat-0.7.1.patched/glucat/framed_multi.h 2013-06-08 16:24:08.000000000 +1000
@@ -35,8 +35,10 @@
#include "glucat/errors.h"
#include "glucat/clifford_algebra.h"
+#if defined(_GLUCAT_USE_BOOST_POOL_ALLOC)
// Use the Boost pool allocator
#include <boost/pool/poolfwd.hpp>
+#endif
#include <string>
#include <utility>
@@ -151,8 +153,11 @@
private std::unordered_map< const index_set<LO,HI>, Scalar_T, index_set_hash<LO,HI> >
#else
private std::map< const index_set<LO,HI>, Scalar_T,
- std::less< const index_set<LO,HI> >,
- boost::fast_pool_allocator< std::pair<const index_set<LO,HI>, Scalar_T> > >
+ std::less< const index_set<LO,HI> >
+#if defined(_GLUCAT_USE_BOOST_POOL_ALLOC)
+ , boost::fast_pool_allocator< std::pair<const index_set<LO,HI>, Scalar_T> >
+#endif
+ >
#endif
{
public:
@@ -171,8 +176,11 @@
typedef class var_term var_term_t;
typedef typename matrix_multi_t::matrix_t matrix_t;
typedef std::map< const index_set_t, Scalar_T,
- std::less<const index_set_t>,
- boost::fast_pool_allocator<term_t> >
+ std::less<const index_set_t>
+#if defined(_GLUCAT_USE_BOOST_POOL_ALLOC)
+ , boost::fast_pool_allocator<term_t>
+#endif
+ >
sorted_map_t;
#if defined(_GLUCAT_USE_GNU_CXX_HASH_MAP)
typedef __gnu_cxx::hash_map< const index_set_t, Scalar_T, index_set_hash<LO,HI> >
diff -rub glucat-0.7.1/glucat/framed_multi_imp.h glucat-0.7.1.patched/glucat/framed_multi_imp.h
--- glucat-0.7.1/glucat/framed_multi_imp.h 2012-11-07 00:38:27.000000000 +1100
+++ glucat-0.7.1.patched/glucat/framed_multi_imp.h 2013-06-08 16:23:42.000000000 +1000
@@ -36,8 +36,10 @@
#include "glucat/random.h"
+#if defined(_GLUCAT_USE_BOOST_POOL_ALLOC)
// Use the Boost pool allocator
#include <boost/pool/pool_alloc.hpp>
+#endif
#include <sstream>
#include <fstream>
diff -rub glucat-0.7.1/INSTALL glucat-0.7.1.patched/INSTALL
--- glucat-0.7.1/INSTALL 2012-11-10 19:54:41.000000000 +1100
+++ glucat-0.7.1.patched/INSTALL 2013-06-08 17:27:14.000000000 +1000
@@ -325,6 +325,32 @@
This tells g++ to use the 2011 C++ standard.
+[Added in patch for openSUSE Build Service using Boost 1.53.0:]
+
+If _GLUCAT_USE_BOOST_POOL_ALLOC is defined, glucat/framed_multi.h includes
+the header file <boost/pool/poolfwd.hpp> and defines glucat::framed_multi<>
+using boost::fast_pool_allocator<>; and glucat/framed_multi.h includes
+the header file <boost/pool/pool_alloc.hpp>.
+
+If you are compiling your own programs using the GluCat library, to use the
+Boost pool allocator, your Makefile needs to pass the following flag to the
+C++ compiler: "-D_GLUCAT_USE_BOOST_POOL_ALLOC"
+
+You will also need to ensure that the include path used by the compiler sees
+<boost/pool/poolfwd.hpp> and <boost/pool/pool_alloc.hpp>. In addition, if you
+are using Boost 1.50.0 or later, your Makefile needs to pass the following flag
+to the C++ compiler, after all the linker-related flags: "-lboost_system"
+
+You will also need to ensure that the library path sees libboost_system.*.
+This requires that you have the Boost libraries built and installed.
+See http://www.boost.org/doc/libs/1_53_0/more/getting_started/index.html
+and Boost tickets
+https://svn.boost.org/trac/boost/ticket/7085
+https://svn.boost.org/trac/boost/ticket/7335
+
+[End of addition for openSUSE Build Service using Boost 1.53.0]
+
+
--with-dense-mat uses dense matrices [default=yes]
This option controls the preprocessor symbol _GLUCAT_USE_DENSE_MATRICES that