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
Common issues
(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.11
Concrete v1.0 supports python from 3.8 to 3.11. 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 your package manager (apt
, homebrew
for example).
Apple Silicon issues
Since Concrete v1.0
, Apple Silicon processors (M1, M2…) are supported.
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:
xcode-select --install
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)