#11718: Upgrade LinBox to version 1.1.7
---------------------------+------------------------------------------------
   Reporter:  malb         |          Owner:  tbd            
       Type:  enhancement  |         Status:  new            
   Priority:  major        |      Milestone:  sage-4.7.2     
  Component:  packages     |       Keywords:                 
Work_issues:               |       Upstream:  N/A            
   Reviewer:               |         Author:  Martin Albrecht
     Merged:               |   Dependencies:  #9511          
---------------------------+------------------------------------------------

Comment(by malb):

 '''Status update'''

 !LinBox's Sage interface changed and this causes major problems. The
 attached patch is supposed to address this new interface but I cannot
 successfully link against {{{liblinboxsage.so}}} any more.

 I get

 {{{
 #!python
     846                 import matrix_complex_double_dense
     847                 return
 matrix_complex_double_dense.Matrix_complex_double_dense
 --> 848             elif
 sage.rings.finite_rings.integer_mod_ring.is_IntegerModRing(R) and
 R.order() < matrix_modn_dense.MAX_MODULUS:
     849                 if R.order() == 2:
     850                     return matrix_mod2_dense.Matrix_mod2_dense

 AttributeError: 'module' object has no attribute 'MAX_MODULUS'
 }}}

 However, this is not a Python problem. If I remove '''everything''' from
 {{{linbox.pyx}}} except for

 {{{
 #!python
 cdef class Foo:
     pass
 }}}

 and remove '''all''' references to !LinBox except for one {{{cimport}}} of
 it in {{{matrix_modn_dense}}} '''and''' I empty out {{{linbox-sage.C}}} in
 the !LinBox !SPKG except for

 {{{
 #!c
 #include <iostream>
 #include <gmp.h>

 #include <cstdlib>
 #include <vector>
 #include <list>

 #include "linbox-sage.h"

 #include <linbox/util/commentator.h>

 #include <linbox/blackbox/sparse.h>

 #include "linbox/element/givaro-polynomial.h"

 #include <linbox/matrix/blas-matrix.h>
 #include <linbox/matrix/sparse.h>
 #include <linbox/vector/sparse.h>

 #include <linbox/algorithms/blas-domain.h>
 #include <linbox/algorithms/echelon-form.h>
 #include "linbox/algorithms/gauss.h"
 #include "linbox/algorithms/smith-form-adaptive.h"
 #include "linbox/ffpack/ffpack.h"
 #include <linbox/solutions/rank.h>
 #include <linbox/solutions/det.h>
 #include <linbox/solutions/solve.h>

 #include "linbox/solutions/methods.h"
 #include <linbox/solutions/minpoly.h>
 #include "linbox/algorithms/double-det.h"
 #include <linbox/integer.h>

 #include <linbox/field/gmp-rational.h>
 #include <linbox/ring/givaro-polynomial.h>
 }}}

 I still get this problem. Hence, I figure it should have something to do
 with the linking. That is, I assume !LinBox overwrites some symbol or
 corrupts some memory somehow which makes it impossible to link against it
 from Sage.

 However, I am out of ideas and steam. Hence, I'll give up on fixing this
 for now.
 But I will send an e-mail to the !LinBox list.

 '''PS:''' We also get the same {{{UINT32_MAX}}} error as #9511 on
 sage.math

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11718#comment:5>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to