intel / hexl

Intel:registered: Homomorphic Encryption Acceleration Library accelerates modular arithmetic operations used in homomorphic encryption

Home Page:https://intel.github.io/hexl

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Continue to have master branch

bazzilic opened this issue · comments

Since the branch was renamed to main even relatively recent codebases tha depend on hexl (from ~ a year ago) are now broken. Example:

git clone -b 3.6.6 https://github.com/microsoft/SEAL
cd SEAL
cmake -S . -B build -DCMAKE_INSTALL_PREFIX=$LIBDIR -DSEAL_USE_INTEL_HEXL=ON

It would have been a much smoother transition and better experience for everyone if master branch was kept in the repo even if further development is done in main or, as some projects do, if master was mirroring main, which can be done with a very simple script.

Hello @bazzilic. I was trying to reproduce your issue. Is this the exact error your are getting:

CMake Error at cpu-features-download/cpu_features-prefix/tmp/cpu_features-gitclone.cmake:40 (message):
Failed to checkout tag: 'master'

Yes.

Steps to reproduce:

docker run -it --rm ubuntu:focal

# when in docker, run:
apt update && apt install -y build-essential cmake git && \
cd $HOME && mkdir $HOME/libdir && LIBDIR=$HOME/libdir && \
git clone --branch 1.2.3 https://github.com/intel/hexl && cd hexl && \
cmake -S . -B build -DCMAKE_INSTALL_PREFIX=$LIBDIR && \
cmake --build build && cmake --install build && \
cd $HOME && \
git clone -b 3.6.6 https://github.com/microsoft/SEAL && cd SEAL && \
cmake -S . -B build -DCMAKE_INSTALL_PREFIX=$LIBDIR -DSEAL_USE_INTEL_HEXL=ON && \
cmake --build build && cmake --install build && \
cd $HOME

Error:

...
-- Configuring done
-- Generating done
-- Build files have been written to: /root/SEAL/build/thirdparty/hexl-src/cmake/cpu-features/cpu-features-download
Scanning dependencies of target cpu_features
[ 11%] Creating directories for 'cpu_features'
[ 22%] Performing download step (git clone) for 'cpu_features'
Cloning into 'cpu-features-src'...
fatal: invalid reference: master
CMake Error at cpu-features-download/cpu_features-prefix/tmp/cpu_features-gitclone.cmake:40 (message):
  Failed to checkout tag: 'master'


make[2]: *** [CMakeFiles/cpu_features.dir/build.make:92: cpu_features-prefix/src/cpu_features-stamp/cpu_features-download] Error 1
make[1]: *** [CMakeFiles/Makefile2:76: CMakeFiles/cpu_features.dir/all] Error 2
make: *** [Makefile:84: all] Error 2
CMake Error at thirdparty/hexl-src/cmake/cpu-features/CMakeLists.txt:16 (message):
  Build step for cpu-features failed: 2


-- Configuring incomplete, errors occurred!
See also "/root/SEAL/build/CMakeFiles/CMakeOutput.log".

@bazzilic

Thanks for confirming.

It is not complaining about HEXL not having a master branch but about cpu-features no longer having a master branch (Which is a HEXL dependency). Since HEXL v1.2.2 (~a year ago) we stopped pointing to master and instead we are pointing to a specific commit hash of the cpu-features. You shouldn't see this error from SEAL v3.7.1 on as they switched to HEXL v1.2.2 there.