From da4cd1c6bdaa0c0c6ca3a622f15fe821d6ace281 Mon Sep 17 00:00:00 2001 From: Peter Zhu Date: Tue, 30 Apr 2024 13:47:42 -0400 Subject: [PATCH] Ensure gcc is newer >= 11.2.1 < 12.0.0 when building knn lib (#1664) Signed-off-by: Peter Zhu --- scripts/build.sh | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/scripts/build.sh b/scripts/build.sh index d2571efb6..0b1419a93 100644 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -103,18 +103,26 @@ if [ "$JAVA_HOME" = "" ]; then echo "SET JAVA_HOME=$JAVA_HOME" fi -# Ensure gcc version is at least 12.0.0 for faiss 1.7.4+ / SIMD Neon support on ARM64 compilation +# Ensure gcc version is > 11.2.1 and < 12.0.0 for faiss 1.7.4+ / SIMD Neon support on ARM64 compilation # https://github.com/opensearch-project/k-NN/issues/975 # https://github.com/opensearch-project/k-NN/issues/1138 # https://github.com/opensearch-project/opensearch-build/issues/4386 # https://github.com/opensearch-project/opensearch-build/issues/4379#issuecomment-2067191682 +# https://github.com/opensearch-project/opensearch-build/issues/4379#issuecomment-2083623882 +# https://github.com/opensearch-project/opensearch-build/issues/4379#issuecomment-2084133839 GCC_VERSION=`gcc --version | head -n 1 | cut -d ' ' -f3` -GCC_REQUIRED_VERSION=12.0.0 +GCC_REQUIRED_VERSION=11.2.1 COMPARE_VERSION=`echo $GCC_REQUIRED_VERSION $GCC_VERSION | tr ' ' '\n' | sort -V | uniq | head -n 1` if [ "$COMPARE_VERSION" != "$GCC_REQUIRED_VERSION" ]; then echo "gcc version on this env is older than $GCC_REQUIRED_VERSION, exit 1" exit 1 fi +GCC_REQUIRED_VERSION_CEILING=12.0.0 +COMPARE_VERSION_CEILING=`echo $GCC_REQUIRED_VERSION_CEILING $GCC_VERSION | tr ' ' '\n' | sort -V | uniq | tail -n 1` +if [ "$COMPARE_VERSION_CEILING" != "$GCC_REQUIRED_VERSION_CEILING" ] && (echo "$OSTYPE" | grep -i linux); then + echo "gcc version on this env is newer than $GCC_REQUIRED_VERSION_CEILING, exit 1" + exit 1 +fi # Build k-NN lib and plugin through gradle tasks cd $work_dir