6-6-6/spark-overlay

dev-python/pyarrow: "ImportError: /usr/lib64/libarrow_python.so.900: undefined symbol: _Py_FatalErrorFunc"

leycec opened this issue · 2 comments

Interestingly, PyArrow 9.0.0 behaves as expected under both Python 3.9 and 3.10 but fails with an obscure non-human-readable exception at importation time under Python 3.8:

$ python3.10 -c 'import pyarrow'
$ python3.9 -c 'import pyarrow'
$ python3.8 -c 'import pyarrow'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/lib/python3.8/site-packages/pyarrow/__init__.py", line 65, in <module>
    import pyarrow.lib as _lib
ImportError: /usr/lib64/libarrow_python.so.900: undefined symbol: _Py_FatalErrorFunc

Python 3.7 is dead to Gentoo. So, I didn't bother testing that.

This is almost certainly an upstream Apache issue. We should probably notify them. Until resolved, the simplest solution for us would probably just be to lightly patch pyarrow-9.0.0.ebuild by:

  • Removing both Python 3.8 and 3.7 from PYTHON_COMPAT.
  • Adding Python 3.10 to PYTHON_COMPAT.

Thanks so much for all the fast and furious Apache packaging, @heroxbd and @Leo3418! 👍

Thanks so much, number of the beast @6-6-6. 👍

LoL, thanks guys.