mirror of
https://github.com/zama-ai/concrete.git
synced 2026-02-09 03:55:04 -05:00
when dellocate is used to include dependencies in python wheels, the runtime library will have an id that is prefixed with /DLC, and that path doesn't exist. So when generated libraries won't be able to find it during load time. To solve this, we change the dep in the generated library to be relative to the rpath which should be set correctly during linking. This shouldn't have an impact when /DLC/concrete/.dylibs/* isn't a dependecy in the first place (when not using python). also set rpath when linking to RT lib
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