From: Kefu Chai Date: Thu, 28 Jul 2022 15:11:08 +0000 (+0800) Subject: tools/ceph-dencoder: register dencoders in "lib" in dev env X-Git-Tag: v18.0.0~383^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F47336%2Fhead;p=ceph.git tools/ceph-dencoder: register dencoders in "lib" in dev env if "CMakeCache.txt" is found in current directory, try to load dencoder shared libraries from ./lib. this heuristics is used by `ceph.in` also for relaunching itself to get access to python bindings. Signed-off-by: Kefu Chai --- diff --git a/src/tools/ceph-dencoder/ceph_dencoder.cc b/src/tools/ceph-dencoder/ceph_dencoder.cc index af039bdf4627..a278e08629f5 100644 --- a/src/tools/ceph-dencoder/ceph_dencoder.cc +++ b/src/tools/ceph-dencoder/ceph_dencoder.cc @@ -67,6 +67,8 @@ vector load_plugins() fs::path mod_dir{CEPH_DENC_MOD_DIR}; if (auto ceph_lib = getenv("CEPH_LIB"); ceph_lib) { mod_dir = ceph_lib; + } else if (fs::is_regular_file("CMakeCache.txt")) { + mod_dir = std::filesystem::canonical("lib"); } if (!fs::is_directory(mod_dir)) { std::cerr << "unable to load dencoders from "