浏览代码

fix dlopen bug

tags/v1.3.0
jianghui58 4 年前
父节点
当前提交
7a08494b57
共有 4 个文件被更改,包括 11 次插入4 次删除
  1. +1
    -0
      build.sh
  2. +1
    -1
      mindspore/lite/src/common/dynamic_library_loader.cc
  3. +4
    -3
      mindspore/lite/tools/converter/converter.cc
  4. +5
    -0
      mindspore/lite/tools/converter/registry/CMakeLists.txt

+ 1
- 0
build.sh 查看文件

@@ -588,6 +588,7 @@ build_lite()
COMPILE_MINDDATA_LITE="off"
CMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_FILE}
CMAKE_TOOLCHAIN_NAME=${TOOLCHAIN_NAME}
CMAKE_BUILD_TYPE=${LITE_BUILD_TYPE}
else
CMAKE_TOOLCHAIN_FILE=${ANDROID_NDK}/build/cmake/android.toolchain.cmake
ANDROID_NATIVE_API_LEVEL="19"


+ 1
- 1
mindspore/lite/src/common/dynamic_library_loader.cc 查看文件

@@ -57,7 +57,7 @@ int DynamicLibraryLoader::Open(const char *lib_path) {
#endif

if (handler_ == nullptr) {
LOG_ERROR("open path failed");
LOG_ERROR("handler is nullptr.");
return RET_ERROR;
}
return RET_OK;


+ 4
- 3
mindspore/lite/tools/converter/converter.cc 查看文件

@@ -77,15 +77,16 @@ schema::MetaGraphT *Converter::Convert(const std::unique_ptr<converter::Flags> &
}

// load plugin
static std::vector<std::shared_ptr<DynamicLibraryLoader>> dl_loaders;
if (!flag->pluginsPath.empty()) {
DynamicLibraryLoader dynamic_library_loader{};
for (auto &path : flag->pluginsPath) {
auto status = dynamic_library_loader.Open(path.c_str());
auto dl_loader = std::make_shared<DynamicLibraryLoader>();
auto status = dl_loader->Open(path.c_str());
if (status != RET_OK) {
MS_LOG(ERROR) << "open dynamic library failed. " << path;
return nullptr;
}
dynamic_library_loader.Close();
dl_loaders.emplace_back(dl_loader);
}
}



+ 5
- 0
mindspore/lite/tools/converter/registry/CMakeLists.txt 查看文件

@@ -15,3 +15,8 @@ add_library(mslite_converter_plugin SHARED ${REG_SRC})
target_link_libraries(mslite_converter_plugin mindspore::glog)
add_dependencies(mslite_converter_plugin fbs_src)
add_dependencies(mslite_converter_plugin fbs_inner_src)

if("${CMAKE_BUILD_TYPE}" STREQUAL "Release" AND (NOT WIN32))
add_custom_command(TARGET mslite_converter_plugin POST_BUILD COMMAND strip
${CMAKE_CURRENT_BINARY_DIR}/libmslite_converter_plugin.so)
endif()

正在加载...
取消
保存