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

関連情報