faust-streaming / cChardet

universal character encoding detector
Other
52 stars 4 forks source link

Cannot install on arm64 (Apple M1 Sillicon) #12

Open simion opened 1 year ago

simion commented 1 year ago

OS/Arch

$ python -c 'import platform;print(platform.uname())'

uname_result(system='Darwin', node='Simions-MacBook-Pro-M1-Max.local', release='22.2.0', version='Darwin Kernel Version 22.2.0: Fri Nov 11 02:03:51 PST 2022; root:xnu-8792.61.2~4/RELEASE_ARM64_T6000', machine='arm64')

Python version

$ python --version
Python 3.11.1

What is the problem?

❯ pip install faust-cchardet

Collecting faust-cchardet
  Using cached faust-cchardet-2.1.13.tar.gz (331 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: faust-cchardet
  Building wheel for faust-cchardet (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for faust-cchardet (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [19 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.macosx-13.1-arm64-cpython-311
      creating build/lib.macosx-13.1-arm64-cpython-311/cchardet
      copying src/cchardet/version.py -> build/lib.macosx-13.1-arm64-cpython-311/cchardet
      copying src/cchardet/__init__.py -> build/lib.macosx-13.1-arm64-cpython-311/cchardet
      running build_ext
      building 'cchardet._cchardet' extension
      creating build/temp.macosx-13.1-arm64-cpython-311
      creating build/temp.macosx-13.1-arm64-cpython-311/src
      creating build/temp.macosx-13.1-arm64-cpython-311/src/cchardet
      clang -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/openssl@3/include -I/Users/simion/Library/Caches/pypoetry/virtualenvs/pydpf-SuFDIHlV-py3.11/include -I/Users/simion/.pyenv/versions/3.11.1/include/python3.11 -c src/cchardet/_cchardet.cpp -o build/temp.macosx-13.1-arm64-cpython-311/src/cchardet/_cchardet.o
      src/cchardet/_cchardet.cpp:775:10: fatal error: 'uchardet.h' file not found
      #include "uchardet.h"
               ^~~~~~~~~~~~
      1 error generated.
      error: command '/usr/bin/clang' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for faust-cchardet
Failed to build faust-cchardet
ERROR: Could not build wheels for faust-cchardet, which is required to install pyproject.toml-based projects

Steps to reproduce the behavior

pip install faust-cchardet
wbarnha commented 1 year ago

Unfortunately this project does not yet support macOS, yet. Once I figure out what's causing this pipeline to fail in https://github.com/faust-streaming/cChardet/actions/runs/3734696213/jobs/6337053829, I can add support for you.

wbarnha commented 1 year ago

All set now! Expect support to be available in the next release.

wbarnha commented 1 year ago

Apparently the arm64 wheel files for macOS aren't getting libuchardet bundled with them. I'll need to look into this further.