Testprintenv:加载共享库时出错:libodbc.so.1:无法打开共享对象文件

Testprintenv:加载共享库时出错:libodbc.so.1:无法打开共享对象文件

我正在尝试调用一个 C 程序,该程序从配置文件中返回给定关键字的值

尝试调用程序时显示以下错误:

**Testprintenv: error while loading shared libraries: libodbc.so.1: cannot open shared object file: No such file or directory**

我们之前安装了 EasySoft 并卸载回来(删除了所有目录)。

Linux 机器上显示以下依赖项

-bash-4.1$ ldd Testprintenv
        linux-vdso.so.1 =>  (0x00007fffc0bdb000)
        libodbc.so.1 => not found
        libodbcinst.so.1 => not found
        libc.so.6 => /lib64/libc.so.6 (0x000000397b200000)
        /lib64/ld-linux-x86-64.so.2 (0x000000397ae00000)

当我们在 Solaris 机器上尝试相同的程序时,依赖性显示不同并且执行时没有任何错误:

[Testuser]$ ldd Testprintenv
        libsocket.so.1 =>        /lib/libsocket.so.1
        libnsl.so.1 =>   /lib/libnsl.so.1
        libc.so.1 =>     /lib/libc.so.1
        libmp.so.2 =>    /lib/libmp.so.2
        libmd.so.1 =>    /lib/libmd.so.1
        libscf.so.1 =>   /lib/libscf.so.1
        libdoor.so.1 =>  /lib/libdoor.so.1
        libuutil.so.1 =>         /lib/libuutil.so.1
        libgen.so.1 =>   /lib/libgen.so.1
        libm.so.2 =>     /lib/libm.so.2
        /platform/SUNW,SPARC-Enterprise/lib/libc_psr.so.1

知道为什么依赖项 (libodbc.so.1) 仅出现在 Linux 上以及如何解决吗?

答案1

您的 Linux 系统上似乎尚未安装 odbc 库。使用适当的包管理系统来添加库。以下是一些适用于某些常见发行版的命令:

对于 Centos、Redhat 或 Fedora 等 RPM 管理的系统:

sudo yum install unixODBC

对于 Ubuntu 或 Mint 等 Debian 系统:

sudo apt-get install libodbc1

相关内容