Where is defined __gmpq_cmp_z?
I got the following error after launching sage in Debian10.
----> 7 cdef class Integer(EuclideanDomainElement):
global cdef = undefined
global Integer = undefined
global EuclideanDomainElement = undefined
8 # This is really of type mpz_t, but we don't use the mpz_t typedef
9 # to work around Cython bug
11 cdef __mpz_struct value[1]
12
13 cdef int _to_ZZ(self, ZZ_c *z) except -1
14 cdef void set_from_mpz(self, mpz_t value)
15 cdef hash_c(self)
16
17 cpdef __pari__(self)
18
19 cpdef _shift_helper(Integer self, y, int sign)
20 cpdef _add_(self, other)
21 cpdef _mul_(self, other)
22 cpdef _pow_(self, other)
23 cdef _and(Integer self, Integer other)
24 cdef _or(Integer self, Integer other)
25 cdef _xor(Integer self, Integer other)
26
27 cpdef size_t _exact_log_log2_iter(self,Integer m)
28 cpdef size_t _exact_log_mpfi_log(self,m)
29 cpdef RingElement _valuation(Integer self, Integer p)
30 cdef object _val_unit(Integer self, Integer p)
31 cdef Integer _divide_knowing_divisible_by(Integer self, Integer right)
ImportError: /usr/lib/python2.7/dist-packages/sage/rings/integer.x86_64-linux-gnu.so: undefined symbol: __gmpq_cmp_z
Have you any idea to solve this error? Thank you.
In my case (Manjaro install):
There is no site-packages directory (target directory of manually built python packages) and no dynamic library rational.so, integer.so ,like you on the computer.
For that matter, those are just modules that reference that symbol, not the one where it's defined.
mpq_cmp_z (which gets mangled to
__gmpq_cmp_z
) is part of GMP, which is a dependency of sage. How did you install sage?