Files
concrete/compiler
Andi Drebes f232935592 fix: Make functions in LambdaSupport.h purely virtual to avoid linking errors in debug builds
Some virtual functions in `LambdaSupport.h` are meant to be purely
virtual, but lack a `= 0` in their signature. In debug builds, this
causes the linker to look for a default implementation, resulting in a
linker error.

This patch marks the virtual functions as purely virtual, resolving
the linker issues in debug builds.
2022-05-04 22:06:00 +02:00
..
2021-06-04 09:18:14 +02:00
2021-05-28 12:08:41 +02:00
2022-05-02 17:20:22 +02:00
2022-03-17 16:15:02 +01:00

Building the compiler

Install MLIR following https://mlir.llvm.org/getting_started/ Use commit c2415d67a564

Install pybind11:

pip install pybind11

Build concrete library:

git clone https://github.com/zama-ai/concrete_internal
cd concrete_internal
git checkout engine_c_api
cd concrete-ffi
RUSTFLAGS="-C target-cpu=native" cargo build --release 

Generate the compiler build system, in the build directory

export LLVM_PROJECT="PATH_TO_LLVM_PROJECT"
export CONCRETE_PROJECT="PATH_TO_CONCRETE_INTERNAL_PROJECT"
make build-initialized

Build the compiler

make concretecompiler

Test the compiler

#TODO: let cmake set this PATH
export LD_LIBRARY_PATH="path_to_concrete-compiler/compiler/build/lib/Runtime/"
make test

Run the compiler

./build/src/concretecompiler