STEP: Improved error reporting on Linux

This commit is contained in:
Lukas Matena 2022-08-11 11:32:06 +02:00
parent 620b89d1c6
commit 41f5bd006a

View File

@ -7,6 +7,7 @@
#include <boost/filesystem.hpp> #include <boost/filesystem.hpp>
#include <boost/dll/runtime_symbol_info.hpp> #include <boost/dll/runtime_symbol_info.hpp>
#include <boost/log/trivial.hpp>
#include <string> #include <string>
#include <functional> #include <functional>
@ -61,10 +62,11 @@ LoadStepFn get_load_step_fn()
load_step_fn = reinterpret_cast<LoadStepFn>(dlsym(plugin_ptr, fn_name)); load_step_fn = reinterpret_cast<LoadStepFn>(dlsym(plugin_ptr, fn_name));
if (!load_step_fn) { if (!load_step_fn) {
dlclose(plugin_ptr); dlclose(plugin_ptr);
BOOST_LOG_TRIVIAL(error) << dlerror(); throw Slic3r::RuntimeError(std::string("Cannot load function from OCCTWrapper.dll: ") + fn_name
+ "\n\n" + dlerror());
} }
} else { } else {
BOOST_LOG_TRIVIAL(error) << dlerror(); throw Slic3r::RuntimeError(std::string("Cannot load OCCTWrapper.dll:\n\n") + dlerror());
} }
#endif #endif
} }