google / google/array_record

Cannot import `array_record_module` on Apple Silicon

Abierto
#44 2 comentarios 7 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
C++
Estrellas
142
Forks
26
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

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`:
```python
>>> 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 https://github.com/tensorflow/datasets/commit/f2aa83d533ca6b70a44252bbc912dd5b73904fd4.

The complete issue:
```>>> import tensorflow_datasets as tfds
Traceback (most recent call last):
File "", line 1, in
File "/Users/rp.eloff/.pyenv/versions/test-array-record-py39/lib/python3.9/site-packages/tensorflow_datasets/__init__.py", line 43, in
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
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
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
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
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
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
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)
```

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.