On Mon, Jan 12, 2026 at 1:02 PM Nils Bruin <[email protected]> wrote:
>
> Thanks. As far as I understood, the setuptools way allowed "cythonize" to 
> figure everything out for me, which meant I could use just some boilerplate 
> setup.py. Is that now deprecated? That would be unfortunate. It would make 
> packaging vanilla cython packages much harder.

I'm not sure about "much harder", why?
I don't know the current status of setuptools in this regard is.
Tobias has switched cysignals, memory_allocator, cypari2 and
primecountpy to use meson,
and it didn't look like a huge change, code-wise.





>
> On Monday, 12 January 2026 at 10:59:15 UTC-8 [email protected] wrote:
>>
>> You should follow the modern guidelines to specify the dependencies etc, 
>> with pyproject.toml
>> <https://packaging.python.org/en/latest/guides/section-build-and-publish/>
>> AFAIK, # distutils tags in Cython header is
>> the usual setuptools way.
>>
>> I would also say, switch from setuptools to meson or pybind11/nanobind
>>
>> Dima
>>
>>
>>
>> On January 12, 2026 11:26:51 AM CST, Nils Bruin <[email protected]> wrote:
>>>
>>> OK, it seems like a "# distutils: libraries = pari" at the top of the pyx 
>>> file does the trick, as suggested by the cython docs. Still interested in 
>>> hearing if it's a good idea to solve it like that.
>>>
>>> On Monday, 12 January 2026 at 09:13:12 UTC-8 Nils Bruin wrote:
>>>>
>>>> I ran into an issue with https://github.com/nbruin/RiemannTheta where 
>>>> installing it into modern sage completes without an error but where I get:
>>>>
>>>> sage: import riemann_theta.riemann_theta
>>>> ImportError: 
>>>> /usr/local/sage/sage-git/local/var/lib/sage/venv-python3.13/lib64/python3.13/site-packages/riemann_theta/riemann_theta.cpython-313-x86_64-linux-gnu.so:
>>>>  undefined symbol: pari_err
>>>>
>>>> Clearly, libpari doesn't get linked. Previously it did, so this is 
>>>> probably due to some tightening of dependency determination in cython or 
>>>> python's setup machinery.
>>>>
>>>> The setup.py for this project is below. This used to work. Is there an 
>>>> obvious way in which I should change it? Particularly is there something 
>>>> sage-specific that can help here? The package in question really depends 
>>>> quite closely on a lot of sage so it would need to be built within its 
>>>> venv anyway.
>>>>
>>>> --------------------------------------
>>>> import setuptools
>>>> from Cython.Build import cythonize
>>>> import numpy
>>>>
>>>> with open("README.md", "r") as fh:
>>>>     long_description = fh.read()
>>>>
>>>> setuptools.setup(
>>>>     name='RiemannTheta',
>>>>     version="1.0.0",
>>>>     author="Nils Bruin, Sohrab Ganjian",
>>>>     author_email="[email protected]",
>>>>     license="GPL2+",
>>>>     description="Evaluate Riemann Theta function numerically in Sagemath",
>>>>     long_description=long_description,
>>>>     long_description_content_type="text/markdown",
>>>>     url="",
>>>>     packages=setuptools.find_packages(),
>>>>     ext_modules=cythonize("riemann_theta/riemann_theta.pyx"),
>>>>     include_dirs=[numpy.get_include()],
>>>>     zip_safe=False,
>>>> )
>>>> -----------------------------------------------
>>>>
>>>> I guess there need to be some "libraries" and possibly "library_dirs" 
>>>> added to the config but hardcoding them is probably not a good idea. 
>>>> Suggestions? (ChatGPT suggests running "pari-config" but I think it just 
>>>> came up with that because it looked convenient)
>>>>
>>>> There may be other third party packages out there that quietly broke due 
>>>> to some backwards incompatible changes in the python/sage build system.
>
> --
> 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 visit 
> https://groups.google.com/d/msgid/sage-devel/0b461a48-36fe-4bac-926e-50559d5670b7n%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 visit 
https://groups.google.com/d/msgid/sage-devel/CAAWYfq05vb42XUaSiQ11fKiT%2Bn3x1xnkYcep0%2B6OZ9y%2BoFkMuQ%40mail.gmail.com.

Reply via email to