无法为模块DBD :: ODBC加载'/usr/local/lib64/perl5/auto/DBD/ODBC/ODBC.so':libodbc.so.1

时间:2014-10-16 13:19:23

标签: perl odbc

每当我试图运行Perl程序时,我都会遇到错误。

install_driver(ODBC) failed: Can't load '/usr/local/lib64/perl5/auto/DBD/ODBC/ODBC.so' for module DBD::ODBC: libodbc.so.1: cannot open shared object file: No such file or directory at /usr/lib64/perl5/DynaLoader.pm line 200.
 at (eval 4) line 3
Compilation failed in require at (eval 4) line 3.
Perhaps a required shared library or dll isn't installed where expected
 at test.pl line 14

ldd /usr/local/lib64/perl5/auto/DBD/ODBC/ODBC.so

linux-vdso.so.1 =>  (0x00007fff4bbff000)
 libodbc.so.1 => not found
 libc.so.6 => /lib64/libc.so.6 (0x00007ffd679a7000)
 /lib64/ld-linux-x86-64.so.2 (0x0000003f46000000)

2 个答案:

答案 0 :(得分:0)

您没有说明您使用的系统类型,因此最简单的方法是转到http://www.unixodbc.org/并查看可用的内容

通常更容易找到包含库的合适软件包,现成的

答案 1 :(得分:0)

您已经以某种方式安装了perl模块DBD :: ODBC但没有ODBC驱动程序管理器的版本1。通常在构建DBD :: ODBC时,告诉它unixODBC在哪里(或者它自己找到它),因为DBD :: ODBC构建的是ODBC驱动程序管理器而不是ODBC驱动程序。你需要安装unixODBC软件包(如果要自己构建DBD :: ODBC,还需要开发dev软件包),或者找到你机器上真正安装了libodbc.so的地方,这样动态链接器就可以找到它。