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".
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.