[linbox] Update to latest upstream release 1.3.2 (#837441)
pcpa
pcpa at fedoraproject.org
Sat Jul 14 17:35:42 UTC 2012
commit 81998ca96cd292c1b6aaf97d62bc06474eb340fb
Author: pcpa <paulo.cesar.pereira.de.andrade at gmail.com>
Date: Sat Jul 14 14:34:48 2012 -0400
Update to latest upstream release 1.3.2 (#837441)
.gitignore | 1 +
linbox-destructor.patch | 20 ++--
linbox-gcc47.patch | 345 +++--------------------------------------------
linbox-int64.patch | 12 ++
linbox-underlink.patch | 20 +++
linbox.spec | 41 +++++-
sources | 2 +-
7 files changed, 96 insertions(+), 345 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index f3d24c1..a1cfa86 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
/linbox-1.2.1.tar.gz
/linbox-1.2.2.tar.gz
+/linbox-1.3.2.tar.gz
diff --git a/linbox-destructor.patch b/linbox-destructor.patch
index 398d5ad..4c3ea2d 100644
--- a/linbox-destructor.patch
+++ b/linbox-destructor.patch
@@ -1,8 +1,9 @@
---- ./tests/Makefile.in.orig 2011-10-28 04:19:29.000000000 -0600
-+++ ./tests/Makefile.in 2011-11-07 15:51:50.518340012 -0700
-@@ -1091,14 +1091,14 @@ AM_CPPFLAGS = -I$(top_srcdir) -I$(top_sr
+diff -up linbox-1.3.2/tests/Makefile.in.orig linbox-1.3.2/tests/Makefile.in
+--- linbox-1.3.2/tests/Makefile.in.orig 2012-07-03 17:03:58.199463037 -0400
++++ linbox-1.3.2/tests/Makefile.in 2012-07-03 17:04:57.440465264 -0400
+@@ -1260,14 +1260,14 @@ AM_CPPFLAGS = -I$(top_srcdir) -I$(top_sr
$(FFLAS_FFPACK_CFLAGS) $(GMP_CFLAGS) $(NTL_CFLAGS) \
- $(GIVARO_CFLAGS) $(LIDIA_CFLAGS)
+ $(GIVARO_CFLAGS) $(LIDIA_CFLAGS) $(IML_CFLAGS)
# AM_LDFLAGS = -llapack -lcblas -latlas
-AM_LDFLAGS = $(top_srcdir)/linbox/.libs/liblinbox.a
+AM_LDFLAGS = $(top_srcdir)/linbox/liblinbox.la
@@ -12,14 +13,15 @@
# AM_CXXFLAGS = $(SAFER_FLAGS) -DLinBoxSrcOnly
#AM_CXXFLAGS = $(SAFER_FLAGS) -DLinBoxSrcOnly -O2
# AM_CXXFLAGS = -g -DLinBoxSrcOnly -Wall -DDEBUG -O0
--AM_CXXFLAGS = -DLinBoxSrcOnly @TESTS_CFLAGS@
-+AM_CXXFLAGS = -DLinBoxTestOnly @TESTS_CFLAGS@
+-AM_CXXFLAGS = -DLinBoxSrcOnly @TESTS_CFLAGS@ @DEBUG_CFLAGS@
++AM_CXXFLAGS = -DLinBoxTestOnly @TESTS_CFLAGS@ @DEBUG_CFLAGS@
# AM_CXXFLAGS = -g -DLinBoxSrcOnly -Wall -D__LINBOX_HAVE_DGETRF -D__LINBOX_HAVE_DGETRI
# AM_CFLAGS = -g -Wall
SUBDIRS = data matrix
---- ./tests/test-common.h.orig 2011-10-28 02:48:13.000000000 -0600
-+++ ./tests/test-common.h 2011-11-07 15:51:50.524340146 -0700
-@@ -362,7 +362,7 @@ extern inline double incompleteGamma (do
+diff -up linbox-1.3.2/tests/test-common.h.orig linbox-1.3.2/tests/test-common.h
+--- linbox-1.3.2/tests/test-common.h.orig 2012-07-03 17:05:16.537466108 -0400
++++ linbox-1.3.2/tests/test-common.h 2012-07-03 17:05:29.191466504 -0400
+@@ -381,7 +381,7 @@ extern inline double incompleteGamma (do
double chiSquaredCDF (double chi_sqr, double df);
diff --git a/linbox-gcc47.patch b/linbox-gcc47.patch
index 0162739..d8c1d91 100644
--- a/linbox-gcc47.patch
+++ b/linbox-gcc47.patch
@@ -1,6 +1,7 @@
---- ./interfaces/driver/lb-blackbox-functor.h.orig 2011-10-28 02:48:13.000000000 -0600
-+++ ./interfaces/driver/lb-blackbox-functor.h 2012-01-09 16:34:50.101676361 -0700
-@@ -52,7 +52,7 @@ public:
+diff -up linbox-1.3.2/interfaces/driver/lb-blackbox-functor.h.orig linbox-1.3.2/interfaces/driver/lb-blackbox-functor.h
+--- linbox-1.3.2/interfaces/driver/lb-blackbox-functor.h.orig 2012-07-03 17:48:30.630565374 -0400
++++ linbox-1.3.2/interfaces/driver/lb-blackbox-functor.h 2012-07-03 17:48:49.880566113 -0400
+@@ -53,7 +53,7 @@ public:
* Macro for automatic code generation *
***************************************/
#define LB_BLACKBOX_VISIT(B) \
@@ -9,9 +10,10 @@
/**********************************************************************************
---- ./interfaces/driver/lb-domain-functor.h.orig 2011-10-28 02:48:13.000000000 -0600
-+++ ./interfaces/driver/lb-domain-functor.h 2012-01-09 16:34:50.102676447 -0700
-@@ -51,7 +51,7 @@ public:
+diff -up linbox-1.3.2/interfaces/driver/lb-domain-functor.h.orig linbox-1.3.2/interfaces/driver/lb-domain-functor.h
+--- linbox-1.3.2/interfaces/driver/lb-domain-functor.h.orig 2012-07-03 17:49:05.931566774 -0400
++++ linbox-1.3.2/interfaces/driver/lb-domain-functor.h 2012-07-03 17:49:17.856567170 -0400
+@@ -52,7 +52,7 @@ public:
* Macro for automatic code generation *
***************************************/
#define LB_DOMAIN_VISIT(D) \
@@ -20,9 +22,10 @@
/*******************************************************************************
---- ./interfaces/driver/lb-vector-functor.h.orig 2011-10-28 02:48:13.000000000 -0600
-+++ ./interfaces/driver/lb-vector-functor.h 2012-01-09 16:34:50.104676614 -0700
-@@ -53,7 +53,7 @@ public:
+diff -up linbox-1.3.2/interfaces/driver/lb-vector-functor.h.orig linbox-1.3.2/interfaces/driver/lb-vector-functor.h
+--- linbox-1.3.2/interfaces/driver/lb-vector-functor.h.orig 2012-07-03 17:49:30.130567691 -0400
++++ linbox-1.3.2/interfaces/driver/lb-vector-functor.h 2012-07-03 17:49:42.232568167 -0400
+@@ -54,7 +54,7 @@ public:
* Macro for automatic code generation *
***************************************/
#define LB_VECTOR_VISIT(B) \
@@ -31,9 +34,10 @@
/**********************************************************************************
---- ./linbox/algorithms/blackbox-container-symmetric.h.orig 2011-10-28 02:48:12.000000000 -0600
-+++ ./linbox/algorithms/blackbox-container-symmetric.h 2012-01-09 16:34:50.105676693 -0700
-@@ -43,10 +43,10 @@ namespace LinBox
+diff -up linbox-1.3.2/linbox/algorithms/blackbox-container-symmetric.h.orig linbox-1.3.2/linbox/algorithms/blackbox-container-symmetric.h
+--- linbox-1.3.2/linbox/algorithms/blackbox-container-symmetric.h.orig 2012-07-03 17:49:56.067568648 -0400
++++ linbox-1.3.2/linbox/algorithms/blackbox-container-symmetric.h 2012-07-03 17:50:24.032569723 -0400
+@@ -59,7 +59,7 @@ namespace LinBox
template<class Vector>
BlackboxContainerSymmetric (const Blackbox *D, const Field &F, const Vector &u0) :
BlackboxContainerBase<Field, _Blackbox> (D, F)
@@ -41,319 +45,4 @@
+ { this->init (u0, u0); }
BlackboxContainerSymmetric (const Blackbox *D, const Field &F, RandIter &g) :
BlackboxContainerBase<Field, _Blackbox> (D, F)
-- { init (g); }
-+ { this->init (g); }
-
- protected:
-
---- ./linbox/algorithms/cra-full-multip-fixed.h.orig 2011-10-28 02:48:12.000000000 -0600
-+++ ./linbox/algorithms/cra-full-multip-fixed.h 2012-01-09 16:34:50.107676845 -0700
-@@ -236,7 +236,7 @@ namespace LinBox
- // It is the only shelf of the radix
- // We normalize the result and output it
- for( ; t_it != _tab_it->end(); ++t0_it, ++t_it)
-- normalize(*t0_it = *t_it, *t_it,
-+ this->normalize(*t0_it = *t_it, *t_it,
- _mod_it->operator()());
- this->RadixPrimeProd_.resize(1);
- return d;
-@@ -483,7 +483,7 @@ namespace LinBox
- // It is the only shelf of the radix
- // We normalize the result and output it
- for( ; t_it != _tab_it->end(); ++t0_it, ++t_it)
-- normalize(*t0_it = *t_it, *t_it,
-+ this->normalize(*t0_it = *t_it, *t_it,
- _mod_it->operator()());
- this->RadixPrimeProd_.resize(1);
- return d;
---- ./linbox/util/formats/matrix-market.h.orig 2011-10-28 02:48:12.000000000 -0600
-+++ ./linbox/util/formats/matrix-market.h 2012-01-09 16:34:50.108676918 -0700
-@@ -150,7 +150,7 @@ namespace LinBox
- --j;
- if( i >= this->_m || j >= this->_n )
- return BAD_FORMAT;
-- if( symmetric && (i != j) ) saveTriple(j,i,v);
-+ if( symmetric && (i != j) ) this->saveTriple(j,i,v);
-
- return GOOD;
- }
---- ./linbox/matrix/matrix-domain.h.orig 2011-10-28 02:48:12.000000000 -0600
-+++ ./linbox/matrix/matrix-domain.h 2012-01-09 16:34:50.109676989 -0700
-@@ -997,7 +997,7 @@ namespace LinBox
- VectorCategories::DenseVectorTag,
- VectorCategories::DenseVectorTag) const
- {
-- return mulColDense (_VD, w, A, v);
-+ return this->mulColDense (_VD, w, A, v);
- }
- template <class Vector1, class Matrix, class Vector2>
- Vector1 &mulColSpecialized (Vector1 &w, const Matrix &A, const Vector2 &v,
---- ./linbox/field/Givaro/givaro-field.h.orig 2011-10-28 02:48:12.000000000 -0600
-+++ ./linbox/field/Givaro/givaro-field.h 2012-01-09 16:34:50.110677059 -0700
-@@ -42,8 +42,8 @@ namespace LinBox
- {
- this->init(zero,0UL);
- this->init(one, 1UL);
-- init(mone);
-- neg(mone,one);
-+ this->init(mone);
-+ this->neg(mone,one);
- }
-
- GivaroField(const BaseField& bf) :
-@@ -51,8 +51,8 @@ namespace LinBox
- {
- this->init(zero,0UL);
- this->init(one, 1UL);
-- init(mone);
-- neg(mone,one);
-+ this->init(mone);
-+ this->neg(mone,one);
- // neg(init(mone),one);
- }
-
-@@ -75,7 +75,7 @@ namespace LinBox
- Rep& axmyin (Rep& r, const Rep a, const Rep x) const
- {
- maxpyin(r,a,x);
-- return negin(r);
-+ return this->negin(r);
- }
-
- // -- maxpyin: r <- r - a * x
---- ./linbox/blackbox/companion.h.orig 2011-10-28 02:48:12.000000000 -0600
-+++ ./linbox/blackbox/companion.h 2012-01-09 16:34:50.112677193 -0700
-@@ -31,12 +31,12 @@ namespace LinBox
- { size_t n = P.size() - 1;
- const size_t indexbase = 1;
- typename Field::Element one; F.init(one, 1);
-- for (size_t i = 1; i < n; ++i) addEntry(one, i+indexbase, i-1+indexbase);
-+ for (size_t i = 1; i < n; ++i) this->addEntry(one, i+indexbase, i-1+indexbase);
- for (size_t i = 0; i < n; ++i)
- { typename Field::Element x;
- F.init(x, 0);
- F.neg(x, P[i]);
-- addEntry(x, i+indexbase, n-1+indexbase);
-+ this->addEntry(x, i+indexbase, n-1+indexbase);
- }
- }// Companion cstor
-
---- ./tests/test-field.h.orig 2011-10-28 02:48:13.000000000 -0600
-+++ ./tests/test-field.h 2012-01-09 16:37:58.921941742 -0700
-@@ -818,25 +818,6 @@ bool testFreshmansDream (const Field &F,
-
- /* Tests of field features */
-
--/** Generic test 7: Consistency of in-place and out-of-place arithmetic
-- *
-- * Generates random elements 'a' and 'b' and performs all basic arithmetic
-- * operations in-place and out-of-place, checking for consistency.
-- *
-- * Div and inv are checked in a separate function.
-- */
--
--template <class Field>
--bool testArithmeticConsistency (const Field &F, const char *name, unsigned int iterations)
--{
-- bool ret = true ;
--
-- ret &= testRingArithmeticConsistency(F, name, iterations) ;
-- ret &= testInvDivConsistency(F, name, iterations);
--
-- return ret;
--}
--
- template <class Field>
- bool testRingArithmeticConsistency (const Field &F, const char *name, unsigned int iterations)
- {
-@@ -1041,6 +1022,25 @@ bool testInvDivConsistency (const Field
- return ret;
- }
-
-+/** Generic test 7: Consistency of in-place and out-of-place arithmetic
-+ *
-+ * Generates random elements 'a' and 'b' and performs all basic arithmetic
-+ * operations in-place and out-of-place, checking for consistency.
-+ *
-+ * Div and inv are checked in a separate function.
-+ */
-+
-+template <class Field>
-+bool testArithmeticConsistency (const Field &F, const char *name, unsigned int iterations)
-+{
-+ bool ret = true ;
-+
-+ ret &= testRingArithmeticConsistency(F, name, iterations) ;
-+ ret &= testInvDivConsistency(F, name, iterations);
-+
-+ return ret;
-+}
-+
- /** Generic test 8: Consistency of axpy
- *
- * Generates random elements 'a', 'x', and 'y' and checks that a * x + y is the
-@@ -1130,31 +1130,6 @@ bool testRanditerBasic(const Field &F, c
- }
-
-
--/* Convenience function to run all of the field tests on a given field */
--
--template <class Field>
--bool runFieldTests (const Field &F, const char *desc, unsigned int iterations, size_t n, bool runCharacteristicTest = true)
-- // n is not used.
--{
--
-- ostringstream str;
--
-- str << "\t--Testing " << desc << " field" << ends;
-- char * st = new char[str.str().size()];
-- strcpy (st, str.str().c_str());
-- commentator.start (st, "runFieldTests");
-- bool ret = runBasicRingTests(F, desc, iterations, runCharacteristicTest) ;
-- ret &= testInvDivConsistency(F, desc, iterations) ;
-- ret &= testFieldInversion (F, desc, iterations) ;
-- ret &= testFieldCommutativity (F, desc, iterations) ;
-- ret &= testFreshmansDream(F, desc, iterations);
-- ret &= testRingTrivia(F,desc);
--
-- commentator.stop (MSG_STATUS (ret));
-- delete[] st;
-- return ret;
--}
--
- template <class Field>
- bool runBasicRingTests (const Field &F, const char *desc, unsigned int iterations, bool runCharacteristicTest = true)
- {
-@@ -1199,46 +1174,33 @@ bool runBasicRingTests (const Field &F,
- return pass;
- }
-
--/// @name Generic field tests
--//@{
--/** Random number test
-- *
-- * Test that the random iterator over the given field works.
-- *
-- * Test up to five times, accepting any one, to increase probability of
-- * passing statistical tests.
-- */
-+/* Convenience function to run all of the field tests on a given field */
-+
- template <class Field>
--bool testRandomIterator (const Field &F, const char *text,
-- unsigned int num_trials,
-- unsigned int num_categories,
-- unsigned int hist_len)
-+bool runFieldTests (const Field &F, const char *desc, unsigned int iterations, size_t n, bool runCharacteristicTest = true)
-+ // n is not used.
- {
-- std::ostringstream str;
-
-- str << "\t--Testing " << text << "::RandIter" << std::ends;
-+ ostringstream str;
-+
-+ str << "\t--Testing " << desc << " field" << ends;
- char * st = new char[str.str().size()];
- strcpy (st, str.str().c_str());
-+ commentator.start (st, "runFieldTests");
-+ bool ret = runBasicRingTests(F, desc, iterations, runCharacteristicTest) ;
-+ ret &= testInvDivConsistency(F, desc, iterations) ;
-+ ret &= testFieldInversion (F, desc, iterations) ;
-+ ret &= testFieldCommutativity (F, desc, iterations) ;
-+ ret &= testFreshmansDream(F, desc, iterations);
-+ ret &= testRingTrivia(F,desc);
-
-- commentator.start (st, "testRandomIterator");
--
-- std::ostream &report = commentator.report (LinBox::Commentator::LEVEL_NORMAL, INTERNAL_DESCRIPTION);
--
-- /* This test either passes or runs a lot of times */
-- for (int i = 1;
-- (! testRandomIteratorStep (F, text, num_trials, num_categories, hist_len)) && (i < 20) ;
-- ++i ){
-- if (0 == i % 10)
-- report << "Warning! Probable failure of uniformity" << std::endl;
-- };
--
-- commentator.stop (MSG_STATUS (true), (const char *) 0, "testRandomIterator");
--
-+ commentator.stop (MSG_STATUS (ret));
- delete[] st;
-- return true;
--
-+ return ret;
- }
-
-+/// @name Generic field tests
-+//@{
- /* Random number test
- *
- * Test that the random iterator over the given field works
-@@ -1356,5 +1318,43 @@ bool testRandomIteratorStep (const Field
- //commentator.stop (MSG_STATUS (ret), (const char *) 0, "testRandomIteratorStep");
- return ret;
- }
-+
-+/** Random number test
-+ *
-+ * Test that the random iterator over the given field works.
-+ *
-+ * Test up to five times, accepting any one, to increase probability of
-+ * passing statistical tests.
-+ */
-+template <class Field>
-+bool testRandomIterator (const Field &F, const char *text,
-+ unsigned int num_trials,
-+ unsigned int num_categories,
-+ unsigned int hist_len)
-+{
-+ std::ostringstream str;
-+
-+ str << "\t--Testing " << text << "::RandIter" << std::ends;
-+ char * st = new char[str.str().size()];
-+ strcpy (st, str.str().c_str());
-+
-+ commentator.start (st, "testRandomIterator");
-+
-+ std::ostream &report = commentator.report (LinBox::Commentator::LEVEL_NORMAL, INTERNAL_DESCRIPTION);
-+
-+ /* This test either passes or runs a lot of times */
-+ for (int i = 1;
-+ (! testRandomIteratorStep (F, text, num_trials, num_categories, hist_len)) && (i < 20) ;
-+ ++i ){
-+ if (0 == i % 10)
-+ report << "Warning! Probable failure of uniformity" << std::endl;
-+ };
-+
-+ commentator.stop (MSG_STATUS (true), (const char *) 0, "testRandomIterator");
-+
-+ delete[] st;
-+ return true;
-+
-+}
- //@}
- #endif // __LINBOX_test_field_H
---- ./tests/test-common.h.orig 2012-01-09 16:34:45.565609259 -0700
-+++ ./tests/test-common.h 2012-01-09 16:34:50.116677442 -0700
-@@ -34,10 +34,6 @@ using namespace std;
- #include "fflas-ffpack/utils/args-parser.h"
-
- template <class Field, class Vector>
--void printVector (Field &F, ostream &output, const Vector &v)
--{ printVectorSpecialized(F, output, v, typename LinBox::VectorTraits<Vector>::VectorCategory()); }
--
--template <class Field, class Vector>
- void printVectorSpecialized(
- Field &F,
- ostream &output,
-@@ -109,6 +105,10 @@ void printVectorSpecialized(
- }
-
- template <class Field, class Vector>
-+void printVector (Field &F, ostream &output, const Vector &v)
-+{ printVectorSpecialized(F, output, v, typename LinBox::VectorTraits<Vector>::VectorCategory()); }
-+
-+template <class Field, class Vector>
- bool areVectorsEqual (Field &F, const Vector &v, const Vector &w)
- {
- return areVectorsEqualSpecialized(F, v, w, LinBox::VectorTraits<Vector>::VectorCategory());
+ { this->init (g); }
diff --git a/linbox-int64.patch b/linbox-int64.patch
new file mode 100644
index 0000000..069a7d5
--- /dev/null
+++ b/linbox-int64.patch
@@ -0,0 +1,12 @@
+diff -up linbox-1.3.2/linbox/field/Modular/modular-int64.h.orig linbox-1.3.2/linbox/field/Modular/modular-int64.h
+--- linbox-1.3.2/linbox/field/Modular/modular-int64.h.orig 2012-07-03 17:34:48.498533895 -0400
++++ linbox-1.3.2/linbox/field/Modular/modular-int64.h 2012-07-03 17:34:51.880534136 -0400
+@@ -96,7 +96,7 @@ namespace LinBox
+ public:
+ typedef int64_t Element;
+
+- typedef FFPACK::Modular<int64_t> Father_t
++ typedef FFPACK::Modular<int64_t> Father_t;
+ friend class FieldAXPY<Modular<int64_t> >;
+ friend class DotProductDomain<Modular<int64_t> >;
+ friend class MVProductDomain<Modular<int64_t> >;
diff --git a/linbox-underlink.patch b/linbox-underlink.patch
new file mode 100644
index 0000000..0779bc7
--- /dev/null
+++ b/linbox-underlink.patch
@@ -0,0 +1,20 @@
+diff -up linbox-1.3.2/linbox/Makefile.in.orig linbox-1.3.2/linbox/Makefile.in
+--- linbox-1.3.2/linbox/Makefile.in.orig 2012-07-03 20:07:41.470885165 -0400
++++ linbox-1.3.2/linbox/Makefile.in 2012-07-03 20:08:27.611886923 -0400
+@@ -154,7 +154,7 @@ LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM
+ CXXLD = $(CXX)
+ CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+- $(LDFLAGS) -o $@
++ $(liblinbox_la_LDFLAGS) $(LDFLAGS) -o $@
+ SOURCES = $(liblinbox_la_SOURCES)
+ DIST_SOURCES = $(liblinbox_la_SOURCES)
+ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+@@ -390,6 +390,7 @@ liblinbox_la_LIBADD = \
+ util/libutil.la \
+ randiter/libranditer.la \
+ algorithms/libalgorithms.la
++liblinbox_la_LDFLAGS = $(MPFR_LIBS) $(IML_LIBS) $(BLAS_LIBS)
+
+ all: all-recursive
+
diff --git a/linbox.spec b/linbox.spec
index 55ec3bd..791672f 100644
--- a/linbox.spec
+++ b/linbox.spec
@@ -1,6 +1,6 @@
Name: linbox
-Version: 1.2.2
-Release: 4%{?dist}
+Version: 1.3.2
+Release: 2%{?dist}
Summary: C++ Library for High-Performance Exact Linear Algebra
Group: Development/Libraries
License: LGPLv2+
@@ -9,13 +9,18 @@ Source0: http://www.linalg.org/%{name}-%{version}.tar.gz
# Sent upstream 2 Nov 2011. Fix double frees that crash all tests.
Patch0: linbox-destructor.patch
Patch1: linbox-gcc47.patch
+# Correct missing semicollon
+Patch2: linbox-int64.patch
+# Force linkage to mpfr and iml to avoid unresolved symbols
+Patch3: linbox-underlink.patch
BuildRequires: atlas-devel
BuildRequires: fflas-ffpack-devel
BuildRequires: givaro-devel
-BuildRequires: gmp-devel
BuildRequires: iml-devel
BuildRequires: m4ri-devel
+BuildRequires: m4rie-devel
+BuildRequires: mpfr-devel
BuildRequires: ntl-devel
BuildRequires: doxygen
@@ -53,8 +58,10 @@ Documentation for %{name}.
%prep
%setup -q
-%patch0
-%patch1
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
# Fix up missing and extraneous library linkage
sed -e "s|\$(GMP_LIBS) \$(NTL_LIBS) \$(BLAS_LIBS)|-L%{_libdir}/atlas \$(NTL_LIBS) -lcblas|" \
@@ -65,9 +72,18 @@ sed -e "s|\$(GIVARO_LIBS) \$(GMP_LIBS) \$(NTL_LIBS) \$(BLAS_LIBS)|-L%{_libdir}/a
# Fix libtool
sed -i "s/func_apped/func_append/g" build-aux/ltmain.sh
-
%build
-%configure --enable-shared --disable-static --enable-drivers --enable-sage \
+CFLAGS="%{optflags}"
+if [ %{__isa_bits} = "64" ]; then
+ CFLAGS="$CFLAGS -D__LINBOX_HAVE_INT64=1"
+fi
+export CFLAGS
+CXXFLAGS=$CFLAGS
+export CXXFLAGS
+CPPFLAGS="$CPPFLAGS -I%{_includedir}/m4rie"
+export CPPFLAGS
+
+%configure --enable-shared --disable-static --enable-sage \
--enable-doc --with-ntl
# Remove hardcoded rpaths
@@ -119,6 +135,17 @@ LD_LIBRARY_PATH=`pwd`/linbox/.libs make %{?_smp_mflags} check
%changelog
+* Tue Jul 3 2012 pcpa <paulo.cesar.pereira.de.andrade at gmail.com> - 1.3.2-2
+- Force linkage to mpfr and iml to avoid unresolved symbols.
+
+* Tue Jul 3 2012 pcpa <paulo.cesar.pereira.de.andrade at gmail.com> - 1.3.2-1
+- Update to latest upstream release.
+- Rediff linbox-destructor patch.
+- Rediff gcc 4.7 patch as it is partially applied to upstream tarball.
+- Correct 64 bit build.
+- Add m4rie-devel to build requires and set CPPFLAGS to detect it.
+- Disable --enable-driver as it no longer compiles.
+
* Tue Feb 28 2012 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1.2.2-4
- Rebuilt for c++ ABI breakage
diff --git a/sources b/sources
index fc3639a..7850e96 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-d2006e80dce15914708f72c748f86677 linbox-1.2.2.tar.gz
+67c80345c8c3e93d213f2d7d37d8c9af linbox-1.3.2.tar.gz
More information about the scm-commits
mailing list