irods / irods_rule_engine_plugin_audit_amqp

BSD 3-Clause "New" or "Revised" License
2 stars 13 forks source link

Error loading plugin: cannot find `libqpid-proton-proactor.so.1` #137

Closed SwooshyCueb closed 2 months ago

SwooshyCueb commented 2 months ago

Ran into this while testing for 4.3.2 on Ubuntu 22.04.

The irods server fails to load the plugin and prints the following errors to the log:

{"log_category":"legacy","log_level":"error","log_message":"[-]\t/irods_source/server/re/include/irods/irods_re_plugin.hpp:371:irods::error irods::rule_engine_plugin_manager<std::tuple<>>::resolve(std::string &, const std::string &, pluggable_rule_engine<T> *&) [T = std::tuple<>] :  status [PLUGIN_ERROR]  errno [] -- message [failed to open shared object file [/usr/lib/irods/plugins/rule_engines/libirods_rule_engine_plugin-audit_amqp.so] :: dlerror: is [libqpid-proton-proactor.so.1: cannot open shared object file: No such file or directory]]\n\t[-]\t/irods_source/lib/core/include/irods/irods_load_plugin.hpp:472:irods::error irods::load_plugin(PluginType *&, const std::string &, const std::string &, const std::string &, const Ts &...) [PluginType = irods::pluggable_rule_engine<std::tuple<>>, Ts = <std::string>] :  status [PLUGIN_ERROR]  errno [] -- message [failed to open shared object file [/usr/lib/irods/plugins/rule_engines/libirods_rule_engine_plugin-audit_amqp.so] :: dlerror: is [libqpid-proton-proactor.so.1: cannot open shared object file: No such file or directory]]\n\n","server_host":"6550f10d9d65","server_pid":4136,"server_timestamp":"2024-04-25T16:20:11.366Z","server_type":"server","server_zone":"tempZone"}
{"log_category":"legacy","log_level":"error","log_message":"[-]\t/irods_source/server/re/include/irods/irods_re_plugin.hpp:398:auto irods::rule_engine_manager<std::tuple<>, RuleExecInfo *>::rule_engine_manager(rule_engine_plugin_manager<std::tuple<>> &, std::vector<re_pack_inp<tuple<>>> &, microservice_manager<RuleExecInfo *> &)::(anonymous class)::operator()(re_pack_inp<T> &) const [T = std::tuple<>, C = RuleExecInfo *] :  status [PLUGIN_ERROR]  errno [] -- message [failed to open shared object file [/usr/lib/irods/plugins/rule_engines/libirods_rule_engine_plugin-audit_amqp.so] :: dlerror: is [libqpid-proton-proactor.so.1: cannot open shared object file: No such file or directory]]\n\t[-]\t/irods_source/server/re/include/irods/irods_re_plugin.hpp:412:irods::error irods::rule_engine_manager<std::tuple<>, RuleExecInfo *>::init_rule_engine(re_pack_inp<T> &) [T = std::tuple<>, C = RuleExecInfo *] :  status [PLUGIN_ERROR]  errno [] -- message [failed to open shared object file [/usr/lib/irods/plugins/rule_engines/libirods_rule_engine_plugin-audit_amqp.so] :: dlerror: is [libqpid-proton-proactor.so.1: cannot open shared object file: No such file or directory]]\n\t\t[-]\t/irods_source/lib/core/include/irods/irods_load_plugin.hpp:472:irods::error irods::load_plugin(PluginType *&, const std::string &, const std::string &, const std::string &, const Ts &...) [PluginType = irods::pluggable_rule_engine<std::tuple<>>, Ts = <std::string>] :  status [PLUGIN_ERROR]  errno [] -- message [failed to open shared object file [/usr/lib/irods/plugins/rule_engines/libirods_rule_engine_plugin-audit_amqp.so] :: dlerror: is [libqpid-proton-proactor.so.1: cannot open shared object file: No such file or directory]]\n\n","server_host":"6550f10d9d65","server_pid":4136,"server_timestamp":"2024-04-25T16:20:11.366Z","server_type":"server","server_zone":"tempZone"}

It appears there is a problem with RPATH/RUNPATH either in the plugin or in the externals package.

SwooshyCueb commented 2 months ago

Looks like it's a bad RUNPATH in irods-externals-qpid-proton-libcxx0.36.0-2. Will submit a PR to externals shortly.