dynamic library not found
running a python script that just imports sage.all I get this error:
// ** Could not find dynamic library: p_Procs_FieldQ.so (path /usr/lib/../lib/singular/MOD:/home/user/Documents/code/sage/sage/local/libexec/singular/MOD)
// ** Error message from system: /usr/lib/../lib/singular/MOD/p_Procs_FieldQ.so: undefined symbol: _Z8nlIsZeroP7snumberP9n_Procs_s
// ** Singular will work properly, but much slower.
// ** See the INSTALL section in the Singular manual for details.
And indeed that library seems to have plenty of undefined symbols:
$ nm -u ~/Documents/code/sage/sage/local/libexec/singular/MOD/p_Procs_FieldQ.so
w __cxa_finalize@@GLIBC_2.2.5
U dynamic_lookup
w __gmon_start__
w _ITM_deregisterTMCloneTable
w _ITM_registerTMCloneTable
U omAllocBinFromFullPage
U omFreeToPageFault
U __stack_chk_fail@@GLIBC_2.4
U _Z5nlNegP7snumberP9n_Procs_s
U _Z5nlSubP7snumberS0_P9n_Procs_s
U _Z6nlCopyP7snumberP9n_Procs_s
U _Z6nlMultP7snumberS0_P9n_Procs_s
U _Z7nlEqualP7snumberS0_P9n_Procs_s
U _Z8nlDeletePP7snumberP9n_Procs_s
U _Z8nlInpAddRP7snumberS0_P9n_Procs_s
U _Z8nlIsZeroP7snumberP9n_Procs_s
This is against a freshly cloned git version. Is this some environment variable that I need to set or some part of Singular that I am missing?
Could you post this on sage-support, and specify your installation (platform, mode of installation (i. e. precompiled package or self-compiled), environment, presence of other Python environments (conda and such...) ) ?
Thanks, I was about to post when I decided to check and it was indeed a mismatch between an installed version of Singular via arch's system and the one provided by SageMath. As a sidenote, it's surprising that sagemath's git packaged version of singular is older than the binary packaged in arch's system
"As a sidenote, it's surprising that sagemath's git packaged version of singular is older than the binary packaged in arch's system" That's not at all surprising to me. Sometimes Sage updates its dependencies quickly to the bleeding edge, but often it's safer not to, or it can be a lot of work.