* @param do_not_close if true, the dlopen will be called with RTLD_NODELETE, so the loaded object
* can share symbols with other dynamically loaded modules. This is useful for modules that need to
newDynamicModule(const std::filesystem::path& object_file_absolute_path, const bool do_not_close,
* Creates a new DynamicModule by name under the search path specified by the environment variable
* @param do_not_close if true, the dlopen will be called with RTLD_NODELETE, so the loaded object
* can share symbols with other dynamically loaded modules. This is useful for modules that need to
* @param do_not_close if true, the dlopen will be called with RTLD_NODELETE, so the loaded object
* @param load_globally if true, the dlopen will be called with RTLD_GLOBAL, so the loaded object
* can share symbols with other dynamically loaded modules. This is useful for modules that need to
absl::StatusOr<DynamicModulePtr> newDynamicModuleFromBytes(const absl::string_view module_bytes,