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

相關內容