Concrete v1.0, Apple Silicon processors (M1, M2…) are supported.
Here is a list of common installation error causes ordered by frequency decreasing (meaning you have a high probability of solving your issue with the first solution).
A successful install of concrete should output the following:
$ pip freeze | grep concrete concrete-python==1.0.0
(Click section to unfold)
Check your pip version is greater than 20
Concrete use a package binary format that is only available in recent version of
pip. If you use the version provided by your system, you may encounter following issue:
ERROR: concrete_python-1.0.0-cp38-cp38-macosx_11_0_arm64.whl is not a supported wheel on this platform.
to check your pip version, do the following:
$ pip -V pip 22.3.1 from <path-to>/pip (python 3.10)
If you have an older version, update pip to the latest available version with:
$ pip install --upgrade pip
Check your Python version is >=3.8 but <=3.10
Concrete v1.0 supports python from 3.8 to 3.10. You could check your current version of Python with the following command:
$ python -V Python 3.10.9
You could easily install another version of python through
homebrew for example.
Check your Python architecture
on Apple Silicon, you could emulate x86 architecture with rosetta. While this could be useful,
in the case of Concrete installation, you should make sure you are using the python ARM version:
$ which python <path-to>/python $ file <path-to>/python <path-to>/python: Mach-O 64-bit executable arm64
Make sure you have the latests xcode command line tools
In order to properly work
Concrete require the
ld linker. On macOS system you
could install it with the following command:
If the linker is not found you will experience something like:
line 170, in compile self.cpp().compile( RuntimeError: Caught an unknown exception!
as right now the exception are not correctly handled (open issue)