Third paragraph in the linked article: Some Cython modules need specific compiler and linker flags. Sage 9.2 has moved all of these flags from Extension options in src/module_list.py to distutils: directives in the individual .pyx source files, see #29706 <https://trac.sagemath.org/ticket/29706> and Cython documentation <https://cython.readthedocs.io/en/latest/src/userguide/source_files_and_compilation.html#compiler-directives> .
On Thursday, March 16, 2023 at 1:10:47 PM UTC-7 Brent W. Baccala wrote: > Thank you, Matthias and Dima, for those pointers. > > Reading over that, it seems like it should just find the files on its > own. "src/module_list.py" was not replaced with anything other than > improved logic to find Cython files. > > How does it know which shared libraries to load? It seems like that's > where it's failing - not when it compiles the Cython, but when it tries to > run it and call a function in the shared library. > > agape > brent > > > On Thursday, March 16, 2023 at 6:23:44 AM UTC-4 Dima Pasechnik wrote: > >> On Thu, Mar 16, 2023 at 8:07 AM Matthias Koeppe >> <[email protected]> wrote: >> > >> > Looking at the branch I see a change to "src/module_list.py". This file >> is not a thing any more in Sage. See >> https://wiki.sagemath.org/ReleaseTours/sage-9.2#For_developers:_Changes_to_the_build_system_of_sagelib >> >> >> This is somewhat outdated, it seems. I've edited the links there to >> point to sources on github, but there is nothing about sage-tdlib in >> setup.py any more. >> There is sagemath-tdlib in src/sage/misc/package_dir.py, etc... >> >> probably it's best to be edited further not by me, but by someone who >> knows details. >> >> >> > >> > >> > On Wednesday, March 15, 2023 at 6:56:32 PM UTC-7 Brent W. Baccala >> wrote: >> >> >> >> Hi - >> >> >> >> I'm trying to get the DifferentialAlgebra package in issue 13268 >> running (it has a github branch that was imported from trac). >> >> >> >> Last time I had it running was 9.0 (I think), and now I'm trying to >> build it on 9.8. >> >> >> >> It seems to build fine, but can't access functions in the shared >> library that was built from upstream's C code. >> >> >> >> It does this: >> >> >> >> baccala@samsung:~/src/sage-rg$ ./sage >> >> ┌────────────────────────────────────────────────────────────────────┐ >> >> │ SageMath version 9.8, Release Date: 2023-02-11 │ >> >> │ Using Python 3.11.1. Type "help()" for help. │ >> >> └────────────────────────────────────────────────────────────────────┘ >> >> sage: import sage.calculus.DifferentialAlgebra >> >> >> --------------------------------------------------------------------------- >> >> ImportError Traceback (most recent call last) >> >> Cell In [1], line 1 >> >> ----> 1 import sage.calculus.DifferentialAlgebra >> >> >> >> ImportError: /home/baccala/src/sage-rg/src/sage/calculus/ >> DifferentialAlgebra.cpython-311-x86_64-linux-gnu.so: undefined symbol: >> bmi_sage_is_constant >> >> sage: >> >> >> >> The function is cimported in DifferentialAlgebra.pyx: >> >> >> >> cimport sage.libs.bmi_c as bmi_c >> >> >> >> bmi_c.pxd is in src/sage/libs and contains lines like this: >> >> >> >> cdef extern from "bmi.h": >> >> ... >> >> ctypedef bmi_balsa_object_string* ALGEB_string >> >> ALGEB_string bmi_sage_is_constant ( >> >> char*, char*, ALGEB, char*, char*, ba0_int_p, ba0_int_p) >> >> >> >> The symbol exists in a shared library in local/lib: >> >> >> >> baccala@samsung:~/src/sage-rg$ ls -l local/lib/libbmi.so.0.0.0 >> >> -rwxr-xr-x 1 baccala baccala 973584 Mar 15 16:17 >> local/lib/libbmi.so.0.0.0 >> >> baccala@samsung:~/src/sage-rg$ nm local/lib/libbmi.so.0.0.0 | grep >> bmi_sage_is_constant >> >> 000000000000c140 T bmi_sage_is_constant >> >> >> >> >> >> Any idea what needs to be done to access this shared library from >> Sage? >> >> >> >> It may be related to something that changed since Sage 9.0. >> >> >> >> Thanks for any help you can provide! >> >> >> >> agape >> >> brent >> >> >> > -- >> > 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 view this discussion on the web visit >> https://groups.google.com/d/msgid/sage-devel/5363374f-dceb-4176-8e69-f1402d2cb8f2n%40googlegroups.com. >> >> >> > -- 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 view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/191964f3-0f76-4397-bd19-20c4649adfaen%40googlegroups.com.
