Skip to content

Commit

Permalink
Add gcc version ceiling verification before building k-NN on arm64 (#987
Browse files Browse the repository at this point in the history
) (#988)

* Add gcc version ceiling verification before building k-NN on arm64

Signed-off-by: Peter Zhu <zhujiaxi@amazon.com>

* Add more comments

Signed-off-by: Peter Zhu <zhujiaxi@amazon.com>

---------

Signed-off-by: Peter Zhu <zhujiaxi@amazon.com>
(cherry picked from commit afdf125)

Co-authored-by: Peter Zhu <zhujiaxi@amazon.com>
  • Loading branch information
1 parent 0059c67 commit ecec290
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions scripts/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ if [ "$JAVA_HOME" = "" ]; then
fi

# Ensure gcc version is above 4.9.0 for faiss 1.7.4+ compilation
# https://github.com/opensearch-project/k-NN/issues/975
GCC_VERSION=`gcc --version | head -n 1 | cut -d ' ' -f3`
GCC_REQUIRED_VERSION=4.9.0
COMPARE_VERSION=`echo $GCC_REQUIRED_VERSION $GCC_VERSION | tr ' ' '\n' | sort -V | uniq | head -n 1`
Expand All @@ -114,6 +115,16 @@ if [ ! "$COMPARE_VERSION" = "$GCC_REQUIRED_VERSION" ]; then
exit 1
fi

# Ensure gcc version is below 8.0.0 for faiss 1.7.4+ compilation so it will not crash on arm64 CentOS7
# https://github.com/opensearch-project/k-NN/issues/975
GCC_REQUIRED_VERSION_CEILING=8.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" ]; 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
# Gradle build is used here to replace gradle assemble due to build will also call cmake and make before generating jars
Expand Down

0 comments on commit ecec290

Please sign in to comment.