Sagemath 4.8 or newer and linbox 1.2.2

31 views
Skip to first unread message

Paulo César Pereira de Andrade

unread,
Apr 26, 2012, 10:40:22 AM4/26/12
to linbo...@googlegroups.com
Hi,

I have packaged sagemath since late 3.x to 4.8 for Mandriva, and now I
am making some experiments to attempt to package sagemath in Fedora.

In the first steps, currently major showstopper is that Fedora has linbox
1.2.2 packaged, built with --enable-sage, and I am experimenting with
sagemath 4.8.

Error is:

gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
--param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC
-fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64
-mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC
-I/home/pcpa/rpmbuild/BUILDROOT/sagemath-4.8-0.1.x86_64/usr/share/sagemath/local/include
-Ic_lib/include
-I/home/pcpa/rpmbuild/BUILDROOT/sagemath-4.8-0.1.x86_64/usr/share/sagemath/devel/sage/sage/ext
-I/usr/include/python2.7 -c sage/libs/linbox/linbox.cpp -o
build/temp.linux-x86_64-2.7/sage/libs/linbox/linbox.o -w
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

Any suggestion of how to make it work with sagemath, that
expects linbox 1.1.6 api?

Thanks,
Paulo
Reply all
Reply to author
Forward
0 new messages