Troubleshooting Concrete installation

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)


1 Like

I have checked the requirements and found them to be satisfactory, but I still get the following error Collecting onnx==1.12.0 (from concrete-ml)
Using cached onnx-1.12.0-cp310-cp310-win_amd64.whl.metadata (13 kB)
Collecting onnxoptimizer==0.2.7 (from concrete-ml)
Using cached onnxoptimizer-0.2.7.tar.gz (16.8 MB)
Preparing metadata (setup.py): started
Preparing metadata (setup.py): finished with status ‘error’
error: subprocess-exited-with-error

python setup.py egg_info did not run successfully.
exit code: 1

[6 lines of output]
Traceback (most recent call last):
File “”, line 2, in
File “”, line 34, prints
File “C:\Users\Admin\AppData\Local\Temp\pip-install-tvvk3jnn\onnxoptimizer_66fb46bfd42d494da69947cef2739cbc\setup.py”, line 75, print
assert CMAKE, ‘Could not find “cmake” executable!’
AssertionError: Could not find “cmake” executable!
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

Encountered error generating while package metadata.

See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
Please check and help me fix the error

Hi @Van_Duc_Nguyen, it seems your system doesn’t have CMake installed. If you’re on Ubuntu, you can try:

sudo apt install cmake

otherwise you can check out

https://cmake.org/download/

Btw, the issue originates from onnxoptimizer dependency, which requires CMake to be installed I guess.

1 Like

Note that Concrete is not supported on Windows at the moment. You can run it in WSL or in our docker image.

1 Like

Does concrete support use on gg collab?

Is there a way to use concrete ml without wasting my computer resources?

Hello @Van_Duc_Nguyen , you can indeed try Concrete and Concrete ML in a Google Colab notebook :slightly_smiling_face:

All you need to do is use !pip install concrete-ml in the notebook and restart the runtime.

1 Like