53

実行すると次のようになる簡単なテストプログラムがあります。

./hello: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

次のようにリンクします。

$(CC) $(CCFLAGS) -o hello hello.o -L../ocilib-3.9.3/src/.libs -L../instantclient_11_2 -locilib

私のLD_LIBRARY_PATHにはこれが含まれています:

LD_LIBRARY_PATH=../ocilib-3.9.3/src/.libs:../instantclient_11_2:/usr/lib

/usr/lib は次のようになります。

Linux$ ls -l /usr/lib/libaio*
lrwxrwxrwx  1 root root   15 Nov  5  2008 /usr/lib/libaio.so.1 -> libaio.so.1.0.1
-rwxr-xr-x  1 root root 2632 Sep 16  2005 /usr/lib/libaio.so.1.0.0
-rwxr-xr-x  1 root root 2628 Sep 16  2005 /usr/lib/libaio.so.1.0.1

ldd hello の出力:

libocilib.so.3 => ../ocilib-3.9.3/src/.libs/libocilib.so.3 (0x0000002a95558000)
libc.so.6 => /lib64/tls/libc.so.6 (0x0000003811200000)
libclntsh.so.11.1 => ../instantclient_11_2/libclntsh.so.11.1 (0x0000002a956c4000)
/lib64/ld-linux-x86-64.so.2 (0x000000552aaaa000)
libnnz11.so => ../instantclient_11_2/libnnz11.so (0x0000002a97f56000)
libdl.so.2 => /lib64/libdl.so.2 (0x0000003811500000)
libm.so.6 => /lib64/tls/libm.so.6 (0x0000003811700000)
libpthread.so.0 => /lib64/tls/libpthread.so.0 (0x0000003811b00000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x0000003819000000)
libaio.so.1 => not found

ここで単純なものが欠けていることを願っています。Oracle InstantClient パッケージには libaio が必要なようですが、すでにインストールされているようですが、何が問題なのですか?

4

8 に答える 8

133

パッケージをインストールします。

sudo apt-get install libaio1 libaio-dev

また

sudo yum install libaio
于 2014-05-20T10:25:46.000 に答える
54

32/64 ビットのミスマッチのようです。lddの出力は、主に からのライブラリ/lib64が選択されていることを示しています。これは、Oracle クライアントの 64 ビット バージョンをインストールし、64 ビットの実行可能ファイルを作成したことを示します。ただしlibaio.so、おそらく 32 ビット ライブラリであり、アプリケーションには使用できません。

そのため、libaio の 64 ビット バージョンが必要になるか、アプリケーションの 32 ビット バージョンを作成する必要があります。

于 2012-05-16T13:37:00.453 に答える
2

私は同じ問題を抱えていましたが、ライブラリをインストールしていないことが判明しました。

このリンクは非常に便利でした。

http://help.directadmin.com/item.php?id=368

于 2014-05-08T01:47:48.407 に答える
0

ここでopenSuse 12.3では、解決策はlibaioの32ビットバージョンをさらにインストールすることでした。Oracle は現在これを必要としているようですが、12.1 では 32 ビット版なしで動作します。

于 2013-08-09T06:14:33.603 に答える
0
sudo yum install libnsl

私のために働いた。https://github.com/knapsu/plex-media-player-appimage/issues/13

于 2022-01-27T15:30:33.283 に答える