# Concrete Compiler The Concrete Compiler takes a high level computation model and produces a programs that evaluate the model in an homomorphic way. ## Build tarball The final tarball contains intallation instructions. We only support Linux x86_64 for the moment. You can find the output tarball under `/tarballs`. ```bash $ cd compiler $ make release_tarballs ``` ## Build the Python Package Currently supported platforms: - Linux x86_64 for python 3.8, 3.9, and 3.10 ### Linux We use the [manylinux](https://github.com/pypa/manylinux) docker images for building python packages for Linux. Those packages should work on distributions that have GLIBC >= 2.24. You can use Make to build the python wheels using these docker images: ```bash $ cd compiler $ make package_py38 # package_py39 package_py310 ``` This will build the image for the appropriate python version then copy the wheels out under `/wheels` ### Build wheels in your environment Building the wheels is actually simple. ```bash $ pip wheel --no-deps -w ../wheels . ``` Depending on the platform you are using (specially Linux), you might need to use `auditwheel` to specify the platform this wheel is targeting. For example, in our build of the package for Linux x86_64 and GLIBC 2.24, we also run: ```bash $ auditwheel repair ../wheels/*.whl --plat manylinux_2_24_x86_64 -w ../wheels ```