[Scitech] Experiment with sagemath and Polybori needs to be built

Paulo César Pereira de Andrade paulo.cesar.pereira.de.andrade at gmail.com
Fri May 4 21:19:09 UTC 2012


2012/5/3 Paulo César Pereira de Andrade
<paulo.cesar.pereira.de.andrade at gmail.com>:

[...]

> /usr/include/givaro/givconfig.h:85:17: note: #pragma message: #warning
> somebody nasty previously included <stdint.h> without
> __STDC_LIMIT_MACROS :)

  This warning is all over the place, but so far, with the attached
linbox-integer.patch on top of an installed system it does not
fail earlier. But should get  __STDC_LIMIT_MACROS defined
before the first c++ code includes stdint.h ...

[...]


> sage/libs/singular/singular.cpp:922:3: error: 'GFqDom' does not name a type
> sage/libs/singular/singular.cpp: In function

  The attached sage-fedora-prepare.patch is another work in progress
patch,  that should be helpful to give an idea of what needs to be patched
to build with newer linbox, sytem cudd, m4ri, m4rie, etc.

  I did some work to attempt to have Mandriva using the same versions
and as close as possible packages, so that I can know more of what
to expect during preparation to package sagemath in Fedora.

  BTW, current build failure looks like:

gcc -pthread -fno-strict-aliasing -O2 -Wa,--compress-debug-sections
-gdwarf-4 -fvar-tracking-assignments -frecord-gcc-switches
-Wstrict-aliasing=2 -pipe -Wformat -Werror=format-security
-Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4
-fPIC -DNDEBUG -O2 -Wa,--compress-debug-sections -gdwarf-4
-fvar-tracking-assignments -frecord-gcc-switches -Wstrict-aliasing=2
-pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2
-fstack-protector --param=ssp-buffer-size=4 -fPIC -fPIC -fno-PIE
-I/home/pcpa/rpm/BUILDROOT/sagemath-4.8-2-mdv2012.0.x86_64-buildroot/usr/share/sage/local/include/cudd
-I/home/pcpa/rpm/BUILDROOT/sagemath-4.8-2-mdv2012.0.x86_64-buildroot/usr/share/sage/local/include/polybori
-I/home/pcpa/rpm/BUILDROOT/sagemath-4.8-2-mdv2012.0.x86_64-buildroot/usr/share/sage/local/include/polybori/groebner
-Isage/libs/polybori
-I/home/pcpa/rpm/BUILDROOT/sagemath-4.8-2-mdv2012.0.x86_64-buildroot/usr/share/sage/local/include
-Ic_lib/include
-I/home/pcpa/rpm/BUILDROOT/sagemath-4.8-2-mdv2012.0.x86_64-buildroot/usr/share/sage/devel/sage/sage/ext
-I/usr/include/python2.7 -c sage/rings/polynomial/pbori.cpp -o
build/temp.linux-x86_64-2.7/sage/rings/polynomial/pbori.o
-DPBORI_NDEBUG -DSIZEOF_VOID_P=8 -DSIZEOF_INT=4 -DSIZEOF_LONG=8
-DPBORI_HAVE_GD -DPBORI_HAVE_TR1_UNORDERED_MAP -DPBORI_HAVE_M4RI
-DPBORI_USE_ORIGINAL_CUDD -DPBORI_HAVE_NTL -mmmx -msse -msse2 -w
sage/rings/polynomial/pbori.cpp: In function 'int
__pyx_pf_4sage_5rings_10polynomial_5pbori_21BooleanPolynomialRing___init__(PyObject*,
PyObject*, PyObject*)':
sage/rings/polynomial/pbori.cpp:4937:5: error: 'appendBlock' is not a
member of 'polybori::BooleEnv'
sage/rings/polynomial/pbori.cpp: In function 'PyObject*
__pyx_pf_4sage_5rings_10polynomial_5pbori_21BooleanPolynomialRing_4gen(PyObject*,
PyObject*, PyObject*)':
sage/rings/polynomial/pbori.cpp:5485:393: error: could not convert
'polybori::BoolePolyRing::variable(polybori::BoolePolyRing::checked_idx_type)
const(polybori::CCheckedIdx(((polybori::CAuxTypes::idx_type)(*(((__pyx_obj_4sage_5rings_10polynomial_5pbori_BooleanPolynomialRing*)__pyx_v_self)->__pyx_obj_4sage_5rings_10polynomial_5pbori_BooleanPolynomialRing::pbind
+ ((long unsigned int)(((long unsigned int)__pyx_t_3) * 8ul)))))))'
from 'polybori::BoolePolyRing::var_type {aka polybori::BooleVariable}'
to 'polybori::BooleSet'

[[ at least 100Kb of error messages here ]]

/usr/include/polybori/BooleVariable.h:63:3: note:   no known
conversion for argument 1 from 'const int' to 'const ring_type& {aka
const polybori::BoolePolyRing&}'
/usr/include/polybori/BooleVariable.h:59:3: note:
polybori::BooleVariable::BooleVariable(polybori::CAuxTypes::idx_type,
const ring_type&)
/usr/include/polybori/BooleVariable.h:59:3: note:   candidate expects
2 arguments, 1 provided
error: command 'gcc' failed with exit status 1

  Well, for singular, at least for now I think it is better to use exactly the
version used by sagemath, as polybori 0.7.1 (sagemath) to 0.8.1 (fedora)
appears to be going to require quite some work ...

Paulo
-------------- next part --------------
A non-text attachment was scrubbed...
Name: linbox-integer.patch
Type: application/octet-stream
Size: 656 bytes
Desc: not available
URL: <http://lists.fedoraproject.org/pipermail/scitech/attachments/20120504/e445dad6/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sage-fedora-prepare.patch
Type: application/octet-stream
Size: 23589 bytes
Desc: not available
URL: <http://lists.fedoraproject.org/pipermail/scitech/attachments/20120504/e445dad6/attachment-0003.obj>


More information about the scitech mailing list