From 538cf0f8e2bb959a2348d95db3d8162be762c351 Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Wed, 29 May 2019 09:45:57 +0800 Subject: [PATCH] ceph.in: do not preload libasan if it is not found before this change, `asan_lib_path` could be `None` when we check it to see if it ends with `NOTFOUND`. this happens if WITH_SEASTAR=OFF or WITH_ASAN=OFF, as in that case, find_package(Sanitizers) is not called, hence `ASAN_LIBRARY` won't be set. in this change, libasan is only preloaded if - (WITH_SEASTAR=ON and CMAKE_BUILD_TYPE=Debug and ASAN_LIBRARY is found) or - (WITH_ASAN) Signed-off-by: Kefu Chai --- src/ceph.in | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/ceph.in b/src/ceph.in index 751c2fdcf5d..0f734c158da 100755 --- a/src/ceph.in +++ b/src/ceph.in @@ -129,9 +129,8 @@ if os.path.exists(os.path.join(MYPDIR, "CMakeCache.txt")) \ pythonlib_path = os.path.join(lib_path, "cython_modules", get_pythonlib_dir()) - if asan_lib_path.endswith('NOTFOUND'): - with_asan = False - elif with_seastar and build_type == 'Debug': + if (with_seastar and build_type == 'Debug' and + not asan_lib_path.endswith('NOTFOUND')): with_asan = True respawn_in_path(lib_path, pybind_path, pythonlib_path, asan_lib_path if with_asan else None)