Skip to content

[Python][C++] Conda installs of pyarrow pull in snappy 1.2.0, resulting in undefined symbol _ZN6snappy11RawCompressEPKcmPcPm #41058

@lilyminium

Description

@lilyminium

Describe the bug, including details regarding any error messages, version, and platform.

Hopefully this is the right place to raise this issue! When creating new environments, I've been seeing that installation of pyarrow from conda-forge pulls in the recently released snappy=1.2.0, which results in a missing symbol _ZN6snappy11RawCompressEPKcmPcPm in both Mac and Linux. Downgrading to snappy 1.1.10 fixes the issue.

Reproducing on linux (I am seeing this across Pythons 3.9 to 3.12):

$ mamba create --name pyarrow-311 -c conda-forge python=3.11 pyarrow
$ conda activate pyarrow-311
$ python -c "import pyarrow; print(pyarrow.__version__)"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/data/homezvol3/lilyw7/miniforge3/envs/pyarrow-311/lib/python3.11/site-packages/pyarrow/__init__.py", line 65, in <module>
    import pyarrow.lib as _lib
ImportError: /data/homezvol3/lilyw7/miniforge3/envs/pyarrow-311/lib/python3.11/site-packages/pyarrow/../../.././liborc.so: undefined symbol: _ZN6snappy11RawCompressEPKcmPcPm
$ conda list snappy
# packages in environment at /data/homezvol3/lilyw7/miniforge3/envs/pyarrow-311:
#
# Name                    Version                   Build  Channel
snappy                    1.2.0                hdb0a2a9_0    conda-forge
$ mamba install -c conda-forge "snappy<1.2"
$ python -c "import pyarrow; print(pyarrow.__version__)"
15.0.2

Reproducing on Mac:

$ micromamba create --name pyarrow-311 -c conda-forge python=3.11 pyarrow
$ micromamba activate pyarrow-311
$ python -c "import pyarrow; print(pyarrow.__version__)"
Traceback (most recent call last):
  File "<frozen runpy>", line 189, in _run_module_as_main
  File "<frozen runpy>", line 148, in _get_module_details
  File "<frozen runpy>", line 112, in _get_module_details
  File "/Users/lily/micromamba/envs/pyarrow-311/lib/python3.11/site-packages/pyarrow/__init__.py", line 65, in <module>
    import pyarrow.lib as _lib
ImportError: dlopen(/Users/lily/micromamba/envs/pyarrow-311/lib/python3.11/site-packages/pyarrow/lib.cpython-311-darwin.so, 0x0002): Symbol not found: __ZN6snappy11RawCompressEPKcmPcPm
  Referenced from: <9FFAFEFE-1098-319B-A900-83A68A872B13> /Users/lily/micromamba/envs/pyarrow-311/lib/libarrow.1500.2.0.dylib
  Expected in:     <F4610B3E-77CA-35FF-A986-DF0C809E6B61> /Users/lily/micromamba/envs/pyarrow-311/lib/libsnappy.1.1.10.dylib
$ micromamba list snappy
List of packages in environment: "/Users/lily/micromamba/envs/pyarrow-311"

  Name    Version  Build       Channel
────────────────────────────────────────────
  snappy  1.2.0    hd04f947_0  conda-forge
$ micromamba install -c conda-forge "snappy<1.2"
$ python -c "import pyarrow; print(pyarrow.__version__)"
15.0.2

Component(s)

Python

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions