linux - 加载 libtdbcmysql1.0.0.so 失败

标签 linux tcl tdbc

我在 tcl 脚本 (linux) 中执行 load libtdbcmysql1.0.0.so,这给出了错误:

couldn't load file "libmysql.so.15"

我认为 libmysql.so.15 可能是 libtdbcmysql1.0.0.so 的依赖库,所以我检查了使用

ldd libtdbcmysql1.0.0.so

但是这个命令给出了以下输出:

linux-gate.so.1 =>  (0xffffe000)<br>
libc.so.6 => /lib/libc.so.6 (0xf7da1000)<br>
/lib/ld-linux.so.2 (0x003b4000)<br>

正如我们所见,它没有提及任何关于 libmysql.so.15 的内容。

谁能解释一下这里发生了什么?以及如何解决这个错误?

最佳答案

MySQL 的 TDBC 驱动程序仅软链接(soft link)到主 MySQL 客户端库。这既允许在没有客户端库 (!) 的系统上构建驱动程序,又确保可以使用更复杂的客户端库搜索代码。 (同样的技术用于支持其他数据库,例如 Oracle 和 PostgreSQL,以及 ODBC 互操作性平台。在任何普通系统上构建所有这些都是一件令人头疼的事情!)

但它可能会出错。您是否安装了 MySQL 客户端库?如果是这样,动态库的名称是什么?它位于哪里?如果一切都安装在正确的位置,设置了适当的记录环境变量,但 TDBC 驱动程序仍然找不到它,您可能想要提交错误报告。 (您可能可以使用 tdbc::odbc 驱动程序包来解决这个问题,我相信它的质量更高,但我警告说我还没有尝试过它。)

关于linux - 加载 libtdbcmysql1.0.0.so 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22754742/

相关文章:

c - wait() SIGCHLD 和退出状态

java - 将javax包导入python

python - 在 Tkinter 中处理触摸屏手势

ubuntu - 无法在 mint 上构建 tdbc 1.0.6

mysql - 在 windows starpack 下包含 tdbc::mysql&tdbc::postgres 的 dll 的最佳方法是什么?

linux - 带 SSL 的 tomcat APR - 端口 98 已被使用/无效的服务器 SSL 协议(protocol)

c - 在 Linux C 中播放音频文件的库

reflection - Tcl/TK : Is there a way to get the list of options and commands of a Tcl/Tk widget using instrospection or reflection?

encoding - (Tcl) 我应该使用什么字符编码集?