#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.