Your message dated Tue, 29 May 2012 09:05:52 +0000
with message-id <e1szine-0002k6...@franck.debian.org>
and subject line Bug#673622: fixed in givaro 3.2.13-1.3
has caused the Debian Bug report #673622,
regarding givaro: causes FTBFS for linbox with GCC 4.7
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
673622: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=673622
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: libgivaro-dev
Version: 3.2.13-1.2
Severity: serious
Tags: upstream

givaro's includes are causing errors for linbox when building with GCC 4.7
(Bug#667264) -- patch attached:

[...]
../../linbox/field/givaro-gfq.h:137:25:   required from here
/usr/include/givaro/givpoly1proot.inl:289:15: error: 'degree' was not declared 
in this scope, and no declarations were found by argument-dependent lookup at 
the point of instantiation [-fpermissive]
/usr/include/givaro/givpoly1proot.inl:289:15: note: declarations in dependent 
base 'Poly1Dom<GFqDom<int>, Dense>' are not found by unqualified lookup
/usr/include/givaro/givpoly1proot.inl:289:15: note: use 'this->degree' instead
[...]
../../linbox/ring/givaro-polynomial.h:164:68:   required from here
/usr/include/givaro/givpoly1factor.inl:168:16: error: 'degree' was not declared 
in this scope, and no declarations were found by argument-dependent lookup at 
the point of instantiation [-fpermissive]
/usr/include/givaro/givpoly1factor.inl:168:16: note: declarations in dependent 
base 'Poly1Dom<LinBox::Modular<double>, Dense>' are not found by unqualified 
lookup
/usr/include/givaro/givpoly1factor.inl:168:16: note: use 'this->degree' instead
[...]
../../linbox/field/givaro-gfq.h:100:75:   required from here
/usr/include/givaro/givintnumtheo.inl:405:5: error: 'isleq' was not declared in 
this scope, and no declarations were found by argument-dependent lookup at the 
point of instantiation [-fpermissive]
/usr/include/givaro/givintnumtheo.inl:405:5: note: declarations in dependent 
base 'IntegerDom' are not found by unqualified lookup
/usr/include/givaro/givintnumtheo.inl:405:5: note: use 'this->isleq' instead
[...]

Thanks,

Matej
--- givaro-3.2.13~/src/kernel/integer/givintnumtheo.inl
+++ givaro-3.2.13/src/kernel/integer/givintnumtheo.inl
@@ -17,8 +17,8 @@
 // =================================================================== //
 template<class RandIter>
 typename IntNumTheoDom<RandIter>::Rep& IntNumTheoDom<RandIter>::phi(Rep& res, 
const Rep& n) const {
-    if (isleq(n,1)) return res=n;
-    if (isleq(n,3)) return sub(res,n,this->one);
+    if (this->isleq(n,1)) return res=n;
+    if (this->isleq(n,3)) return this->sub(res,n,this->one);
     std::list<Rep> Lf;
     Father_t::set(Lf,n);
     //return phi (res,Lf,n);
@@ -29,11 +29,11 @@
 template<class RandIter>
 template< template<class, class> class Container, template<class> class Alloc>
  typename IntNumTheoDom<RandIter>::Rep& IntNumTheoDom<RandIter>::phi(Rep& res, 
const Container<Rep, Alloc<Rep> >& Lf, const Rep& n) const {
-    if (isleq(n,1)) return res=n;
-    if (isleq(n,3)) return sub(res,n,this->one);
+    if (this->isleq(n,1)) return res=n;
+    if (this->isleq(n,3)) return this->sub(res,n,this->one);
     res = n; Rep t,m;
     for(typename Container<Rep, Alloc<Rep> >::const_iterator f=Lf.begin(); 
f!=Lf.end(); ++f) 
-        mul(res, divexact(t,res,*f), sub(m, *f, this->one));
+        this->mul(res, this->divexact(t,res,*f), this->sub(m, *f, this->one));
     return res;
 }
 
@@ -402,8 +402,8 @@
 typename IntNumTheoDom<RandIter>::Rep& 
IntNumTheoDom<RandIter>::lowest_prim_root(Rep& A, const Rep& n) const {
         // n must be in {2,4,p^m,2p^m} where p is an odd prime
         // else returns zero
-    if (isleq(n,4)) return sub(A,n,this->one);
-    if (isZero(mod(A,n,4))) return A=this->zero;
+    if (this->isleq(n,4)) return this->sub(A,n,this->one);
+    if (isZero(this->mod(A,n,4))) return A=this->zero;
     Rep phin, tmp; 
     phi(phin,n);
     std::list<Rep> Lf;
@@ -412,15 +412,15 @@
     for(f=Lf.begin();f!=Lf.end();++f)
             this->div(*f,phin,*f);
     int found=0;
-    for(A = 2;(isleq(A,n) && (! found));addin(A,1)) {
+    for(A = 2;(this->isleq(A,n) && (! found));this->addin(A,1)) {
         if (isOne(gcd(tmp,A,n))) {
             found = 1;
             for(f=Lf.begin();(f!=Lf.end() && found);f++)
                 found = (! isOne( this->powmod(tmp,A,*f,n)) );
         }
     }
-    if (isleq(A,n))
-        return subin(A,1);
+    if (this->isleq(A,n))
+        return this->subin(A,1);
     else
         return A=this->zero; 
 }
--- givaro-3.2.13~/src/library/poly1/givpoly1factor.inl
+++ givaro-3.2.13/src/library/poly1/givpoly1factor.inl
@@ -24,7 +24,7 @@
     , Residu_t MOD) const {
        typename Domain::Element one;
        _domain.init(one, 1UL);
-    Degree dG;degree(dG,G);
+    Degree dG;this->degree(dG,G);
     if (dG == d)
         L.push_back(G);
     else {
@@ -32,7 +32,7 @@
         while (! splitted) {
             Rep tmp, G1;
             this->gcd(G1, G, this->random(_g, tmp, dG-1));
-            Degree dG1; degree(dG1,G1);
+            Degree dG1; this->degree(dG1,G1);
 // write(std::cerr << "SF rd: ", tmp) << std::endl;
 // write(std::cerr << "SF G1: ", G1) << std::endl;
             if ( dG1 != dG) {
@@ -44,8 +44,8 @@
                 Integer pp = (power(Integer(MOD), d.value()) - 1)/2;
 // std::cerr << "pp: " << pp << std::endl;
                 Rep tp, tp2, G2;
-                this->gcd(G2,G, sub(tp2, this->powmod(tp, tmp, pp, G) , one) );
-                Degree dG2; degree(dG2,G2);
+                this->gcd(G2,G, this->sub(tp2, this->powmod(tp, tmp, pp, G) , 
one) );
+                Degree dG2; this->degree(dG2,G2);
 // write(std::cerr << "SF t2: ", tp2) << std::endl;
 // write(std::cerr << "SF G2: ", G2) << std::endl;
                 if ( dG2 != dG) {
@@ -54,8 +54,8 @@
                         SplitFactor ( L, G2, d, MOD) ;
                     }
 // UNNECESSARY : ANYTHING FOUND BY G3 WOULD HAVE THE COFACTOR IN G2
-                     Rep G3; this->gcd(G3, G, add(tp2,tp,one) );
-                     Degree dG3; degree(dG3,G3);
+                     Rep G3; this->gcd(G3, G, this->add(tp2,tp,one) );
+                     Degree dG3; this->degree(dG3,G3);
 // write(std::cerr << "SF t3: ", tp2) << std::endl;
 // write(std::cerr << "SF G3: ", G3) << std::endl;
                      if (( dG3 != dG) && (dG3 > 0 )) {
@@ -133,21 +133,21 @@
 // write(std::cerr << "DD in: ", f) << std::endl;
     Rep W, D, P = f;
     Degree dP;
-    Rep Unit, G1; init(Unit, Degree(1), one);
+    Rep Unit, G1; this->init(Unit, Degree(1), one);
     W.copy(Unit);
-    degree(dP,P); Degree dPo = (dP/2);
+    this->degree(dP,P); Degree dPo = (dP/2);
     for(Degree dp = 1; dp <= dPo; ++dp) {
 // std::cerr << "DD degree: " << dp << std::endl;
         this->powmod(W, D.copy(W), MOD, P);
-        this->gcd (G1,sub(D,W,Unit), P) ;
-        Degree dG1; degree(dG1,G1);
+        this->gcd (G1,this->sub(D,W,Unit), P) ;
+        Degree dG1; this->degree(dG1,G1);
 // write(std::cerr << "DD found: ", G1) << ", of degree " << dG1 << std::endl;
         if ( dG1 > 0 ) {
             SplitFactor (L, G1, dp, MOD);
-            divin(P,G1);
+            this->divin(P,G1);
         }
     }
-    degree(dP,P);    
+    this->degree(dP,P);    
     if (dP > 0)
         L.push_back(P);
 // write(std::cerr << "DD: ", P) << std::endl;
@@ -165,10 +165,10 @@
               const Rep& P,
               Residu_t MOD)  const {
 // write(std::cerr << "CZ in: ", P) << std::endl;
-    Degree dp; degree(dp,P);
+    Degree dp; this->degree(dp,P);
     size_t nb=dp.value()+1; 
     Rep * g = new Rep[nb];
-    sqrfree(nb,g,P);
+    this->sqrfree(nb,g,P);
 // std::cerr << "CZ sqrfree: " << nb << std::endl;
     for(size_t i = 0; i<nb;++i) {
         size_t this_multiplicity = Lf.size();
@@ -200,17 +200,17 @@
         // Square free ?
    typename Domain::Element _one;
    _domain.init(_one,1UL); 
-   Rep W,D; this->gcd(W,diff(D,P),P);
+   Rep W,D; this->gcd(W,this->diff(D,P),P);
     Degree d, dP;
-    if (degree(d,W) > 0) return 0;
+    if (this->degree(d,W) > 0) return 0;
         // Distinct degree free ?
-    Rep Unit, G1; init(Unit, Degree(1), _one);
+    Rep Unit, G1; this->init(Unit, Degree(1), _one);
     W.copy(Unit);
-    degree(dP,P); Degree dPo = (dP/2);
+    this->degree(dP,P); Degree dPo = (dP/2);
     for(Degree dp = 1; dp <= dPo; ++dp) {
         this->powmod(W, D.copy(W), MOD, P);
-        this->gcd (G1, sub(D,W,Unit), P) ;
-        if ( degree(d,G1) > 0 ) return 0;
+        this->gcd (G1, this->sub(D,W,Unit), P) ;
+        if ( this->degree(d,G1) > 0 ) return 0;
     }
     return 1;
 }
--- givaro-3.2.13~/src/library/poly1/givpoly1proot.inl
+++ givaro-3.2.13/src/library/poly1/givpoly1proot.inl
@@ -28,7 +28,7 @@
 
 template<class Domain, class Tag, class RandIter >
 inline typename Poly1FactorDom<Domain,Tag, RandIter>::Element& 
Poly1FactorDom<Domain,Tag, RandIter>::creux_random_irreducible (Element& R, 
Degree n) const {
-    init(R, n, _domain.one);
+    this->init(R, n, _domain.one);
     Residu_t MOD = _domain.residu();
 
         // Search for an irreducible BINOMIAL : X^n + a
@@ -75,7 +75,7 @@
 inline typename Poly1FactorDom<Domain,Tag, RandIter>::Element& 
Poly1FactorDom<Domain,Tag, RandIter>::random_irreducible (Element& R, Degree n) 
const {
         // Search for a monic irreducible Polynomial
         // with random Elements
-    init(R, n, _domain.one);
+    this->init(R, n, _domain.one);
     Residu_t MOD = _domain.residu();
 
     do {
@@ -97,9 +97,9 @@
 // ---------------------------------------------------------------
 template<class Domain, class Tag, class RandIter >
 inline typename Poly1FactorDom<Domain,Tag, RandIter>::Element& 
Poly1FactorDom<Domain,Tag, RandIter>::ixe_irreducible (Element& R, Degree n) 
const {
-    init(R, n, _domain.one);
+    this->init(R, n, _domain.one);
     Element IXE;
-    init(IXE,Degree(1),_domain.one);
+    this->init(IXE,Degree(1),_domain.one);
     Residu_t MOD = _domain.residu();
 
         // Search for an irreducible BINOMIAL : X^n + a
@@ -229,13 +229,13 @@
 template<class Domain, class Tag, class RandIter>
 bool Poly1FactorDom<Domain,Tag, RandIter>::is_prim_root( const Rep& P, const 
Rep& F)  const {
     bool isproot = 0;
-    Rep A, G; mod(A,P,F);
+    Rep A, G; this->mod(A,P,F);
     Degree d;
-    if ( degree(d, this->gcd(G,A,F)) == 0) {
+    if ( this->degree(d, this->gcd(G,A,F)) == 0) {
         Residu_t MOD = _domain.residu();
         IntFactorDom<> FD;
         IntFactorDom<>::Element IMOD( MOD ), q, qp;
-        degree(d,F);
+        this->degree(d,F);
 //         FD.pow(q ,IMOD, d.value());
 //         FD.sub(qp, q, FD.one);
         FD.subin( FD.pow(qp ,IMOD, d.value()) , FD.one);
@@ -286,14 +286,14 @@
 
 template<class Domain, class Tag, class RandIter >
 inline typename Poly1FactorDom<Domain,Tag, RandIter>::Rep& 
Poly1FactorDom<Domain,Tag, RandIter>::give_prim_root(Rep& R, const Rep& F)  
const {
-    Degree n; degree(n,F);
+    Degree n; this->degree(n,F);
     Residu_t MOD = _domain.residu();
 //    this->write(std::cout << "Give Pr: ", F) << std::endl;
     
     
         // Search for a primitive BINOMIAL : X^i + a
     for(Degree di=1;di<n;++di) {
-        init(R, di, _domain.one);
+        this->init(R, di, _domain.one);
 //         for(Residu_t a=MOD; a--; ) {
         for(Residu_t a=0; a<MOD;++a ) {
             _domain.assign(R[0],a);
@@ -303,7 +303,7 @@
     }
         // Search for a primitive TRINOMIAL : X^i + b*X^j + a
     for(Degree di=2;di<n;++di) {
-        init(R, di, _domain.one);
+        this->init(R, di, _domain.one);
         for(Degree dj=1;dj<di;++dj)
 //             for(Residu_t b=MOD; b--;) {
             for(Residu_t b=0; b<MOD;++b) {

--- End Message ---
--- Begin Message ---
Source: givaro
Source-Version: 3.2.13-1.3

We believe that the bug you reported is fixed in the latest version of
givaro, which is due to be installed in the Debian FTP archive:

givaro_3.2.13-1.3.diff.gz
  to main/g/givaro/givaro_3.2.13-1.3.diff.gz
givaro_3.2.13-1.3.dsc
  to main/g/givaro/givaro_3.2.13-1.3.dsc
libgivaro-dev_3.2.13-1.3_amd64.deb
  to main/g/givaro/libgivaro-dev_3.2.13-1.3_amd64.deb
libgivaro0_3.2.13-1.3_amd64.deb
  to main/g/givaro/libgivaro0_3.2.13-1.3_amd64.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 673...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Matthias Klose <d...@debian.org> (supplier of updated givaro package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Tue, 29 May 2012 08:16:59 +0000
Source: givaro
Binary: libgivaro-dev libgivaro0
Architecture: source amd64
Version: 3.2.13-1.3
Distribution: unstable
Urgency: low
Maintainer: Tim Abbott <tabb...@mit.edu>
Changed-By: Matthias Klose <d...@debian.org>
Description: 
 libgivaro-dev - library for arithmetic and algebraic computations
 libgivaro0 - library for arithmetic and algebraic computations
Closes: 673622
Changes: 
 givaro (3.2.13-1.3) unstable; urgency=low
 .
   * Non-maintainer upload.
   * Fix build failure with GCC 4.7 (Matej Vela). Closes: #673622.
Checksums-Sha1: 
 c23ac6d92dcf1458b9cf8f599f59272bf94b54dd 1150 givaro_3.2.13-1.3.dsc
 f153ae3407c3923afdd369ebd371149629927674 5169 givaro_3.2.13-1.3.diff.gz
 90171c35b087263eeda64b2643ca17f0295933e6 311578 
libgivaro-dev_3.2.13-1.3_amd64.deb
 a0114f833bd1cd29086ca38530b7277b5a137901 83364 libgivaro0_3.2.13-1.3_amd64.deb
Checksums-Sha256: 
 7f3f43427b9a0b41b9626dde23d6f0eed715811a9f1df1ddaa1dead4ce81d571 1150 
givaro_3.2.13-1.3.dsc
 82ca6bf9e3b1406c4b4964ebc14682bc98502263f7831695a3e4693c7f045d62 5169 
givaro_3.2.13-1.3.diff.gz
 0b790cd1997c72fd940dd15a6a485491c6ae725ddaba473661b82d50472705a1 311578 
libgivaro-dev_3.2.13-1.3_amd64.deb
 04e5499e818ef6a14beeb80aaba072157d9cb6676a0b048ecf43526a58aed22e 83364 
libgivaro0_3.2.13-1.3_amd64.deb
Files: 
 b79213d5a861571df7894939abb0d45a 1150 math optional givaro_3.2.13-1.3.dsc
 70680dd2bed8edd5ed2c95578c12d4c4 5169 math optional givaro_3.2.13-1.3.diff.gz
 8d472b3a990350667f34f0095924320c 311578 libdevel optional 
libgivaro-dev_3.2.13-1.3_amd64.deb
 09d5c183dcb42c6fe6ce37060e5d4762 83364 libs optional 
libgivaro0_3.2.13-1.3_amd64.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iEYEARECAAYFAk/Eh9oACgkQStlRaw+TLJx5WACfbw8CACd2mc/ROq0tfbUviYem
WmsAoIiAprfyqINYd5Pjh/rXWXC+14r7
=RBUI
-----END PGP SIGNATURE-----



--- End Message ---

Reply via email to