I think this may have been working somewhat of by accident
before, because it says 'extern "C"' in one place and in another
say '// sorry, if you want a C version, feel free to add it'
I delayed a bit sagemath 6.4 update due to some dependencies
needing to be updated in Fedora, in the meantime 6.4.1 was
released.
Trying to update to Fedora sagemath rpm to 6.4.1 I am being
hit by this:
---%<---
File
"/home/pcpa/rpmbuild/BUILDROOT/sagemath-6.4.1-1.fc22.x86_64/usr/lib64/python2.7/site-packages/sage/libs/ntl/__init__.py",
line 1, in <module>
import all
File
"/home/pcpa/rpmbuild/BUILDROOT/sagemath-6.4.1-1.fc22.x86_64/usr/lib64/python2.7/site-packages/sage/libs/ntl/all.py",
line 34, in <module>
from sage.libs.ntl.ntl_ZZ_p import (
ImportError:
/home/pcpa/rpmbuild/BUILDROOT/sagemath-6.4.1-1.fc22.x86_64/usr/lib64/python2.7/site-packages/sage/libs/ntl/ntl_ZZ_p.so:
undefined symbol: ZZ_p_to_int
error: Bad exit status from /var/tmp/rpm-tmp.moMkJq (%install)
---%<---
Previously it was exported as a "C" symbol:
$ rpm -q sagemath
sagemath-6.3-3.fc22.x86_64
$ objdump -T --demangle /usr/lib64/libcsage.so | grep ZZ_p_to_int
0000000000008760 g DF .text 0000000000000005 Base ZZ_p_to_int
But the newly generated libcsage.so does only show a C++ symbol:
$ objdump -T --demangle BUILD/sage-6.4.1/src/c_lib/libcsage.so | grep
ZZ_p_to_int
00000000000087d0 g DF .text 0000000000000005 Base
ZZ_p_to_int(NTL::ZZ_p const&)
So, it may be required some extra wrapping, but more likely,
patch the cython code to only use ZZ_to_int(ZZ*).
This may also be useful...
$ rpm -q gcc binutils
gcc-4.9.2-1.fc22.x86_64
binutils-2.24-29.fc22.x86_64
Thanks,
Paulo
--
You received this message because you are subscribed to the Google Groups
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.