如何找出试图加载 libmysqlclient_r.so 库的内容
How to find out what tries to load libmysqlclient_r.so library
我正在使用带有 mysql-connector-c++8 的 clang-9。
在 mysql-connector-c++ 从 1.1.12 升级到 8.x 和 运行 后,我的应用程序中的功能:get_driver_instance()
抛出异常:
"Couldn't load library libmysqlclient_r.so: libmysqlclient_r.so: cannot open shared object file"
到目前为止我尝试过的:
ldd
在我新编译的二进制文件上,但是我新编译的二进制文件没有 link 反对 libmysqlclient_r.so
.
strace -f
我的二进制文件,但没有关于加载此库的信息
- 删除了
/etc/ld.so.cache
并用 ldconfig
重建了它,而不是重新编译了我的软件
updatedb && locate \*\.so | xargs ldd
和 \*\.so\.\*
相同,但没有文件显示它是 link 与 libmysqlclient_r.so 编辑的
编译过程中没有错误。我不知道可能出了什么问题。我可以做些什么来进一步诊断它?
运行时 dlopen
调用不会在 ldd
中产生任何输出,但您可以通过设置环境变量 [=13] 说服 ld.so
在由谁加载库时打印=].
我正在使用带有 mysql-connector-c++8 的 clang-9。
在 mysql-connector-c++ 从 1.1.12 升级到 8.x 和 运行 后,我的应用程序中的功能:get_driver_instance()
抛出异常:
"Couldn't load library libmysqlclient_r.so: libmysqlclient_r.so: cannot open shared object file"
到目前为止我尝试过的:
ldd
在我新编译的二进制文件上,但是我新编译的二进制文件没有 link 反对libmysqlclient_r.so
.strace -f
我的二进制文件,但没有关于加载此库的信息- 删除了
/etc/ld.so.cache
并用ldconfig
重建了它,而不是重新编译了我的软件 updatedb && locate \*\.so | xargs ldd
和\*\.so\.\*
相同,但没有文件显示它是 link 与 libmysqlclient_r.so 编辑的
编译过程中没有错误。我不知道可能出了什么问题。我可以做些什么来进一步诊断它?
运行时 dlopen
调用不会在 ldd
中产生任何输出,但您可以通过设置环境变量 [=13] 说服 ld.so
在由谁加载库时打印=].