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