diff --git a/Makefile b/Makefile index ef239db315..dbe941da77 100644 --- a/Makefile +++ b/Makefile @@ -28,8 +28,8 @@ ifdef disk_index endif use_asan = OFF -ifdef USE_ASAN - use_asan =${USE_ASAN} +ifeq ($(USE_ASAN), ON) + use_asan = ${USE_ASAN} CGO_LDFLAGS := $(shell go env CGO_LDFLAGS) -fno-stack-protector -fno-omit-frame-pointer -fno-var-tracking -fsanitize=address CGO_CFLAGS := $(shell go env CGO_CFLAGS) -fno-stack-protector -fno-omit-frame-pointer -fno-var-tracking -fsanitize=address MILVUS_GO_BUILD_TAGS := $(MILVUS_GO_BUILD_TAGS),use_asan @@ -384,12 +384,12 @@ codecov-cpp: build-cpp-with-coverage # Build each component and install binary to $GOPATH/bin. install: milvus @echo "Installing binary to './bin'" - @(env USE_ASAN=$(USE_ASAN) GOPATH=$(GOPATH) LIBRARY_PATH=$(LIBRARY_PATH) bash $(PWD)/scripts/install_milvus.sh) + @(env GOPATH=$(GOPATH) LIBRARY_PATH=$(LIBRARY_PATH) bash $(PWD)/scripts/install_milvus.sh) @echo "Installation successful." gpu-install: milvus-gpu @echo "Installing binary to './bin'" - @(env USE_ASAN=$(USE_ASAN) GOPATH=$(GOPATH) LIBRARY_PATH=$(LIBRARY_PATH) bash $(PWD)/scripts/install_milvus.sh) + @(env GOPATH=$(GOPATH) LIBRARY_PATH=$(LIBRARY_PATH) bash $(PWD)/scripts/install_milvus.sh) @echo "Installation successful." clean: diff --git a/build/docker/milvus/amazonlinux2023/Dockerfile b/build/docker/milvus/amazonlinux2023/Dockerfile index 2f0b01abf5..13bbe5ae9a 100644 --- a/build/docker/milvus/amazonlinux2023/Dockerfile +++ b/build/docker/milvus/amazonlinux2023/Dockerfile @@ -12,6 +12,7 @@ FROM amazonlinux:2023 ARG TARGETARCH +ARG MILVUS_ASAN_LIB RUN yum install -y wget libgomp libaio libatomic openblas-devel && \ rm -rf /var/cache/yum/* @@ -29,7 +30,7 @@ COPY --chown=root:root --chmod=774 ./lib/ /milvus/lib/ ENV PATH=/milvus/bin:$PATH ENV LD_LIBRARY_PATH=/milvus/lib:$LD_LIBRARY_PATH:/usr/lib -ENV LD_PRELOAD=/milvus/lib/libjemalloc.so +ENV LD_PRELOAD=${MILVUS_ASAN_LIB}:/milvus/lib/libjemalloc.so ENV MALLOC_CONF=background_thread:true ENTRYPOINT ["/tini", "--"] diff --git a/build/docker/milvus/rockylinux8/Dockerfile b/build/docker/milvus/rockylinux8/Dockerfile index 1fe43ae1ff..7f8da9947e 100644 --- a/build/docker/milvus/rockylinux8/Dockerfile +++ b/build/docker/milvus/rockylinux8/Dockerfile @@ -13,6 +13,7 @@ FROM rockylinux/rockylinux:8 ARG TARGETARCH +ARG MILVUS_ASAN_LIB RUN dnf install -y wget libgomp libaio libatomic @@ -33,7 +34,7 @@ COPY ./lib/ /milvus/lib/ ENV PATH=/milvus/bin:$PATH ENV LD_LIBRARY_PATH=/milvus/lib:$LD_LIBRARY_PATH:/usr/lib -ENV LD_PRELOAD=/milvus/lib/libjemalloc.so +ENV LD_PRELOAD=${MILVUS_ASAN_LIB}:/milvus/lib/libjemalloc.so ENV MALLOC_CONF=background_thread:true ENTRYPOINT ["/tini", "--"] diff --git a/build/docker/milvus/ubuntu20.04/Dockerfile b/build/docker/milvus/ubuntu20.04/Dockerfile index 6d43668c88..307ea806ae 100644 --- a/build/docker/milvus/ubuntu20.04/Dockerfile +++ b/build/docker/milvus/ubuntu20.04/Dockerfile @@ -12,6 +12,7 @@ FROM ubuntu:focal-20240530 ARG TARGETARCH +ARG MILVUS_ASAN_LIB RUN apt-get update && \ apt-get install -y --no-install-recommends curl ca-certificates libaio-dev libgomp1 libopenblas-dev && \ @@ -30,7 +31,7 @@ COPY --chown=root:root --chmod=774 ./lib/ /milvus/lib/ ENV PATH=/milvus/bin:$PATH ENV LD_LIBRARY_PATH=/milvus/lib:$LD_LIBRARY_PATH:/usr/lib -ENV LD_PRELOAD=/milvus/lib/libjemalloc.so +ENV LD_PRELOAD=${MILVUS_ASAN_LIB}:/milvus/lib/libjemalloc.so ENV MALLOC_CONF=background_thread:true ENTRYPOINT ["/tini", "--"] diff --git a/build/docker/milvus/ubuntu22.04/Dockerfile b/build/docker/milvus/ubuntu22.04/Dockerfile index 44999ad1a8..a7da1252da 100644 --- a/build/docker/milvus/ubuntu22.04/Dockerfile +++ b/build/docker/milvus/ubuntu22.04/Dockerfile @@ -12,6 +12,7 @@ FROM ubuntu:jammy-20240530 ARG TARGETARCH +ARG MILVUS_ASAN_LIB RUN apt-get update && \ apt-get install -y --no-install-recommends curl ca-certificates libaio-dev libgomp1 libopenblas-dev && \ @@ -30,7 +31,7 @@ COPY --chown=root:root --chmod=774 ./lib/ /milvus/lib/ ENV PATH=/milvus/bin:$PATH ENV LD_LIBRARY_PATH=/milvus/lib:$LD_LIBRARY_PATH:/usr/lib -ENV LD_PRELOAD=/milvus/lib/libjemalloc.so +ENV LD_PRELOAD=${MILVUS_ASAN_LIB}:/milvus/lib/libjemalloc.so ENV MALLOC_CONF=background_thread:true ENTRYPOINT ["/tini", "--"]