設定ファイルから指定されたキーワードの値を返す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でのみ表示される理由と、解決方法についての洞察はありますか?
linuxシステムにodbcライブラリがインストールされていないようです。適切なパッケージ管理システムを使用して、ライブラリを追加します。いくつかの一般的なディストリビューションで機能するいくつかのコマンドを次に示します。
centos、Redhat、FedoraなどのRPM管理対象システムの場合:
Sudo yum install unixODBC
ubuntuやMintのようなDebianシステムの場合:
Sudo apt-get install libodbc1