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.

Reply via email to