Skip to content

Cannot import array_record_module on Apple Silicon #44

@rpeloff

Description

@rpeloff

Hi, I am having trouble using this package on Apple Silicon (M2) due to the shared library file array_record_module.so.

Specifically I have the following error on Python 3.9.16 with array-record==0.2.0:

>>> from array_record.python import array_record_module
ImportError: dlopen(/Users/rp.eloff/.pyenv/versions/test-array-record-py39/lib/python3.9/site-packages/array_record/python/array_record_module.so, 0x0002): tried: '/Users/rp.eloff/.pyenv/versions/test-array-record-py39/lib/python3.9/site-packages/array_record/python/array_record_module.so' (not a mach-o file), '/System/Volumes/Preboot/Cryptexes/OS/Users/rp.eloff/.pyenv/versions/test-array-record-py39/lib/python3.9/site-packages/array_record/python/array_record_module.so' (no such file), '/Users/rp.eloff/.pyenv/versions/test-array-record-py39/lib/python3.9/site-packages/array_record/python/array_record_module.so' (not a mach-o file), '/Users/rp.eloff/.pyenv/versions/3.9.16/envs/test-array-record-py39/lib/python3.9/site-packages/array_record/python/array_record_module.so' (not a mach-o file), '/System/Volumes/Preboot/Cryptexes/OS/Users/rp.eloff/.pyenv/versions/3.9.16/envs/test-array-record-py39/lib/python3.9/site-packages/array_record/python/array_record_module.so' (no such file), '/Users/rp.eloff/.pyenv/versions/3.9.16/envs/test-array-record-py39/lib/python3.9/site-packages/array_record/python/array_record_module.so' (not a mach-o file)

I assume this is due to array_record_module.so being built for linux. Would it be possible to support Apple Silicon in the build process?

The main motivation for this is that tfds is dependent on array-record since this commit tensorflow/datasets@f2aa83d.

The complete issue:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/rp.eloff/.pyenv/versions/test-array-record-py39/lib/python3.9/site-packages/tensorflow_datasets/__init__.py", line 43, in <module>
    import tensorflow_datasets.core.logging as _tfds_logging
  File "/Users/rp.eloff/.pyenv/versions/test-array-record-py39/lib/python3.9/site-packages/tensorflow_datasets/core/__init__.py", line 22, in <module>
    from tensorflow_datasets.core import community
  File "/Users/rp.eloff/.pyenv/versions/test-array-record-py39/lib/python3.9/site-packages/tensorflow_datasets/core/community/__init__.py", line 18, in <module>
    from tensorflow_datasets.core.community.huggingface_wrapper import mock_builtin_to_use_gfile
  File "/Users/rp.eloff/.pyenv/versions/test-array-record-py39/lib/python3.9/site-packages/tensorflow_datasets/core/community/huggingface_wrapper.py", line 31, in <module>
    from tensorflow_datasets.core import dataset_builder
  File "/Users/rp.eloff/.pyenv/versions/test-array-record-py39/lib/python3.9/site-packages/tensorflow_datasets/core/dataset_builder.py", line 34, in <module>
    from tensorflow_datasets.core import dataset_info
  File "/Users/rp.eloff/.pyenv/versions/test-array-record-py39/lib/python3.9/site-packages/tensorflow_datasets/core/dataset_info.py", line 47, in <module>
    from tensorflow_datasets.core import file_adapters
  File "/Users/rp.eloff/.pyenv/versions/test-array-record-py39/lib/python3.9/site-packages/tensorflow_datasets/core/file_adapters.py", line 29, in <module>
    from array_record.python import array_record_module
ImportError: dlopen(/Users/rp.eloff/.pyenv/versions/test-array-record-py39/lib/python3.9/site-packages/array_record/python/array_record_module.so, 0x0002): tried: '/Users/rp.eloff/.pyenv/versions/test-array-record-py39/lib/python3.9/site-packages/array_record/python/array_record_module.so' (not a mach-o file), '/System/Volumes/Preboot/Cryptexes/OS/Users/rp.eloff/.pyenv/versions/test-array-record-py39/lib/python3.9/site-packages/array_record/python/array_record_module.so' (no such file), '/Users/rp.eloff/.pyenv/versions/test-array-record-py39/lib/python3.9/site-packages/array_record/python/array_record_module.so' (not a mach-o file), '/Users/rp.eloff/.pyenv/versions/3.9.16/envs/test-array-record-py39/lib/python3.9/site-packages/array_record/python/array_record_module.so' (not a mach-o file), '/System/Volumes/Preboot/Cryptexes/OS/Users/rp.eloff/.pyenv/versions/3.9.16/envs/test-array-record-py39/lib/python3.9/site-packages/array_record/python/array_record_module.so' (no such file), '/Users/rp.eloff/.pyenv/versions/3.9.16/envs/test-array-record-py39/lib/python3.9/site-packages/array_record/python/array_record_module.so' (not a mach-o file)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions