Em 25 de abril de 2012 21:37, Paulo César Pereira de Andrade
<paulo.cesar.pereira.de.andrade(a)gmail.com> escreveu:
[...]
I did a test build with the linbox in fedora, but note that in Mandriva
I packaged linbox 1.1.6 and did not upgrade to have it matching
sagemath spkg version. So, using linbox 1.2.2 in fedora, I see:
sage/libs/linbox/linbox.cpp: In function 'int
__pyx_f_4sage_4libs_6linbox_6linbox_17Linbox_modn_dense_echelonize(__pyx_obj_4sage_4libs_6linbox_6linbox_Linbox_modn_dense*)':
sage/libs/linbox/linbox.cpp:2308:123: error:
'linbox_modn_dense_echelonize' was not declared in this scope
sage/libs/linbox/linbox.cpp: In function 'PyObject*
__pyx_pf_4sage_4libs_6linbox_6linbox_17Linbox_modn_dense_4_poly(PyObject*,
PyObject*)':
sage/libs/linbox/linbox.cpp:2480:335: error: no matching function for
call to 'linbox_modn_dense_minpoly(size_t&, size_t**, size_t*,
size_t&, size_t**&, int&)'
sage/libs/linbox/linbox.cpp:2480:335: note: candidate is:
/usr/include/linbox/linbox-sage.h:65:11: note: template<class Element>
Element* linbox_modn_dense_minpoly(Element, Element**, size_t*,
size_t, Element*)
sage/libs/linbox/linbox.cpp:2527:43: error:
'linbox_modn_dense_delete_array' was not declared in this scope
sage/libs/linbox/linbox.cpp: In function 'PyObject*
__pyx_f_4sage_4libs_6linbox_6linbox_17Linbox_modn_dense_matrix_matrix_multiply(__pyx_obj_4sage_4libs_6linbox_6linbox_Linbox_modn_dense*,
size_t**, size_t**, size_t, size_t)':
sage/libs/linbox/linbox.cpp:2578:187: error: no matching function for
call to 'linbox_modn_dense_matrix_matrix_multiply(size_t&, size_t**&,
size_t**&, size_t**&, size_t&, size_t&, size_t&, size_t&)'
sage/libs/linbox/linbox.cpp:2578:187: note: candidate is:
/usr/include/linbox/linbox-sage.h:77:9: note: template<class Element>
Element* linbox_modn_dense_matrix_matrix_multiply(Element, Element*,
Element*, Element*, size_t, size_t, size_t)
sage/libs/linbox/linbox.cpp: In function 'long unsigned int
__pyx_f_4sage_4libs_6linbox_6linbox_17Linbox_modn_dense_rank(__pyx_obj_4sage_4libs_6linbox_6linbox_Linbox_modn_dense*)':
sage/libs/linbox/linbox.cpp:2634:117: error: 'linbox_modn_dense_rank'
was not declared in this scope
sage/libs/linbox/linbox.cpp: In function 'size_t
__pyx_f_4sage_4libs_6linbox_6linbox_17Linbox_modn_dense_det(__pyx_obj_4sage_4libs_6linbox_6linbox_Linbox_modn_dense*,
int)':
sage/libs/linbox/linbox.cpp:2697:116: error: no matching function for
call to 'linbox_modn_dense_det(size_t&, size_t**&, size_t&,
size_t&)'
sage/libs/linbox/linbox.cpp:2697:116: note: candidate is:
/usr/include/linbox/linbox-sage.h:59:9: note: template<class Element>
Element linbox_modn_dense_det(Element, Element*, size_t, size_t)
sage/libs/linbox/linbox.cpp: In function 'PyObject*
__pyx_pf_4sage_4libs_6linbox_6linbox_20Linbox_integer_dense_2_poly(PyObject*,
PyObject*)':
sage/libs/linbox/linbox.cpp:5127:253: error: invalid initialization of
non-const reference of type '__mpz_struct (*&)[1]' from an rvalue of
type '__mpz_struct (**)[1]'
/usr/include/linbox/linbox-sage.h:108:6: error: in passing argument 1
of 'void linbox_integer_dense_minpoly(__mpz_struct (*&)[1], size_t&,
size_t, __mpz_struct (**)[1])'
sage/libs/linbox/linbox.cpp:5139:254: error: invalid initialization of
non-const reference of type '__mpz_struct (*&)[1]' from an rvalue of
type '__mpz_struct (**)[1]'
/usr/include/linbox/linbox-sage.h:110:6: error: in passing argument 1
of 'void linbox_integer_dense_charpoly(__mpz_struct (*&)[1], size_t&,
size_t, __mpz_struct (**)[1])'
sage/libs/linbox/linbox.cpp: In function 'PyObject*
__pyx_f_4sage_4libs_6linbox_6linbox_20Linbox_integer_dense_matrix_matrix_multiply(__pyx_obj_4sage_4libs_6linbox_6linbox_Linbox_integer_dense*,
__mpz_struct (**)[1], __mpz_struct (**)[1], size_t, size_t)':
sage/libs/linbox/linbox.cpp:5283:173: error: too many arguments to
function 'int linbox_integer_dense_matrix_matrix_multiply(__mpz_struct
(**)[1], __mpz_struct (**)[1], __mpz_struct (**)[1], size_t, size_t,
size_t)'
/usr/include/linbox/linbox-sage.h:115:5: note: declared here
error: command 'gcc' failed with exit status 1
But hopefully it would not crash as it appears to have a different
approach to an issue that causes crashes when built with --enable-sage
that is linbox-destructor.patch.
The patch I use in Mandriva for linbox 1.1.6 is
http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/linalg-linbox/...
Need to check also upcoming sagemath 5.0 sources, but at first
testing 4.8 that is the latest release.
Note that at first I want to have it working, then after that
redesign
the package to split in multiple components, change some paths,
etc. And from previous experience, once getting it built, expect
very long gdb&valgrind sessions until figuring out what causes
several different crashes.
>> --
>> Jerry James
>>
http://www.jamezone.org/
Thanks,
Paulo