Bugzilla Automation <[email protected]> has asked freebsd-python (Nobody)
<[email protected]> for maintainer-feedback:
Bug 292844: science/py-scipy builds but import of some features causes an error
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292844
--- Description ---
Recent changes to the science/py-scipy port enabled it to build with cython >=
3.2, but unfortunately while it does build, trying to use the package leads to
an attempt to reference an undefined symbol
I am uncertain what the *correct* way to fix the problem is, but I was able to
restore the function by changing the USES line to specify cython0 (which I know
to be the wrong fix). But as it stands, while it builds fine with the current
cython, scipy as installed by the port without modification is unusable in my
application.
uname -a:
FreeBSD xxx.xxx 14.3-STABLE FreeBSD 14.3-STABLE stable/14-n273238-c95f96dea30a
GENERIC amd64
Expected behavior:
> python
>>> from scipy import interpolate
>>>
That is, the import just works.
Behavior when port is installed without modification:
> python
>>> from scipy import interpolate
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.11/site-packages/scipy/__init__.py", line 189,
in __getattr__
return _importlib.import_module(f'scipy.{name}')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/importlib/__init__.py", line 126, in
import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/scipy/interpolate/__init__.py",
line 167, in <module>
from ._interpolate import *
File
"/usr/local/lib/python3.11/site-packages/scipy/interpolate/_interpolate.py",
line 9, in <module>
import scipy.special as spec
File "/usr/local/lib/python3.11/site-packages/scipy/special/__init__.py",
line 772, in <module>
from . import _ufuncs
File "_ufuncs.pyx", line 1, in init scipy.special._ufuncs
ImportError:
/usr/local/lib/python3.11/site-packages/scipy/special/_ufuncs_cxx.cpython-311.s
o:
Undefined symbol "wrap_PyUFunc_getfperr"
>>>
A quick web search turned up very little of help, but did suggest exactly the
incompatibility of newer cython and possibly a problem with the use of the
deprecated setup.py instead of meson for building (I'm just parroting what I
read, not suggesting I know this to be a solution).