128-bit mode does not work in Python

Hi,

I installed openfhe in 128-bit mode on a fresh system using cmake -DNATIVE_SIZE=128 .. (on v1.4.2) and then installed openfhe on v1.4.2.0.24.4.

However, when running the example advanced-real-numbers-128.py I get the error message “This demo only runs for 128-bit CKKS. If you want to test it please reinstall the OpenFHE C++ with the flag -DNATIVE_SIZE=128, then reinstall OpenFHE-Python.“

That same error does not occur when running the same example in C++, which leads me to believe that there might be a problem with the python wrapper.

Please let me know if I’m missing anything or if this could be a bug.

Best regards,

Clemens

@clemens OpenFHE Python wheels are not built in 128-bit mode, so installing from PyPI always gives you the default native size (64-bit mode). To run the 128-bit example, you must build both OpenFHE C++ and OpenFHE-Python manually with “-DNATIVE_SIZE=128”.
You can find the build instructions here: https://github.com/openfheorg/openfhe-python-packager

ci-vars.sh changes for your build:
————————————————————————————-
OS_RELEASE=24.04 # or your Ubuntu version

OPENFHE_TAG=v1.4.2
OPENFHE_PYTHON_TAG=v1.4.2.0
ADDL_CMAKE_FLAGS=“-DNATIVE_SIZE=128”

Thanks, that worked!

Although I manually had to adjust the script “build_openfhe_wheel_docker_ubu_24.sh“: The script attempts to call the script “./scripts/build_openfhe_numpy_wheel_docker_ubu.sh”, which doesn’t exist in the repository. I had to remove the “_numpy_”, after which it worked. I assume this was maybe copy-pasted from the openfhe-numpy-packager repository.

Thank you for pointing at the wrong file name. I will correct it for the next release.