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 <kchai@redhat.com>
This commit is contained in:
Kefu Chai 2019-05-29 09:45:57 +08:00
parent 88d0067a88
commit 538cf0f8e2

View File

@ -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)