From 7ae66c08660216319a9819ba6db725a75c6dd224 Mon Sep 17 00:00:00 2001 From: Diab Neiroukh Date: Thu, 30 Apr 2020 18:43:23 +0100 Subject: [PATCH] Clang requires libatomic to be linked via LDFLAGS Clang requires the libatomic to be linked via LDFLAGS or else the linker will fail to recognise __atomic macros. An error as a result of not passing -latomic to the linker can be seen below: ld.lld: error: undefined symbol: __atomic_fetch_add_2 >>> referenced by sds.c:185 >>> lto.tmp:(sdsdupshared) clang-10: error: linker command failed with exit code 1 (use -v to see invocation) make[1]: *** [Makefile:276: keydb-server] Error 1 Former-commit-id: dcd7b684bbb7b4719a0e44d5764b01c48eb619dd --- src/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Makefile b/src/Makefile index bc60b4d74..4b4a996de 100644 --- a/src/Makefile +++ b/src/Makefile @@ -70,6 +70,7 @@ endif ifeq ($(COMPILER_NAME),clang) CXXFLAGS+= -stdlib=libc++ + LDFLAGS+= -latomic endif # To get ARM stack traces if Redis crashes we need a special C flag.