2013-06-14 25 views
6

私はプログラムのためにlibeventを使用しています.2台のコンピュータAとBでプログラムをコンパイルし、 FYI共有ライブラリの読み込み中にエラーが発生しました:libevent-1.4.so.2:共有オブジェクトファイルを開くことができません:

error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory 

:BIに次のエラーを得たが、

AとBは、Fedoraシステムであり、AとBの両方で、私はlibevent-1.4.14b-stable.tar.gzをダウンロードし、Configure /を通じてそれをインストール/インストールしますします。 B上の

[[email protected] temp]$ uname -r 
    3.6.10-2.fc16.x86_64 
    [[email protected] temp]$ ls -al /usr/local/lib64 | grep libevent 
    [[email protected] temp]$ ls -al /usr/lib64 | grep libevent 
    [[email protected] temp]$ ls -al /usr/lib | grep libevent 
    lrwxrwxrwx 1 root root  32 May 21 00:25 libevent-1.4.so.2 -> /usr/local/lib/libevent-1.4.so.2 
    [[email protected] temp]$ ls -al /usr/local/lib | grep libevent 
    lrwxrwxrwx 1 root root  21 May 21 00:22 libevent-1.4.so.2 -> libevent-1.4.so.2.2.0 
    -rwxr-xr-x 1 root root 435304 May 21 00:22 libevent-1.4.so.2.2.0 
    -rw-r--r-- 1 root root 793178 May 21 00:22 libevent.a 
    lrwxrwxrwx 1 root root  26 May 21 00:22 libevent_core-1.4.so.2 -> libevent_core-1.4.so.2.2.0 
    -rwxr-xr-x 1 root root 160352 May 21 00:22 libevent_core-1.4.so.2.2.0 
    -rw-r--r-- 1 root root 269580 May 21 00:22 libevent_core.a 
    -rwxr-xr-x 1 root root 988 May 21 00:22 libevent_core.la 
    lrwxrwxrwx 1 root root  26 May 21 00:22 libevent_core.so -> libevent_core-1.4.so.2.2.0 
    lrwxrwxrwx 1 root root  27 May 21 00:22 libevent_extra-1.4.so.2 -> libevent_extra-1.4.so.2.2.0 
    -rwxr-xr-x 1 root root 342122 May 21 00:22 libevent_extra-1.4.so.2.2.0 
    -rw-r--r-- 1 root root 631804 May 21 00:22 libevent_extra.a 
    -rwxr-xr-x 1 root root 995 May 21 00:22 libevent_extra.la 
    lrwxrwxrwx 1 root root  27 May 21 00:22 libevent_extra.so -> libevent_extra-1.4.so.2.2.0 
    -rwxr-xr-x 1 root root 953 May 21 00:22 libevent.la 
    lrwxrwxrwx 1 root root  21 May 21 00:22 libevent.so -> libevent-1.4.so.2.2.0 

:私のプログラムはBでこのエラーを取得し、いずれかの解決策がある理由

[email protected] server_agent]# uname -r 
    3.8.5-201.fc18.x86_64 
    [[email protected] server_agent]# ls -al /usr/lib | grep libevent 
    lrwxrwxrwx 1 root root  32 Jun 14 17:09 libevent-1.4.so.2 -> /usr/local/lib/libevent-1.4.so.2 
    [[email protected] server_agent]# ls -al /usr/local/lib | grep libevent 
    lrwxrwxrwx 1 root root  21 Jun 14 16:03 libevent-1.4.so.2 -> libevent-1.4.so.2.2.0 
    -rwxr-xr-x 1 root root 435524 Jun 14 16:03 libevent-1.4.so.2.2.0 
    -rw-r--r-- 1 root root 805650 Jun 14 16:03 libevent.a 
    lrwxrwxrwx 1 root root  26 Jun 14 16:03 libevent_core-1.4.so.2 -> libevent_core-1.4.so.2.2.0 
    -rwxr-xr-x 1 root root 164070 Jun 14 16:03 libevent_core-1.4.so.2.2.0 
    -rw-r--r-- 1 root root 270748 Jun 14 16:03 libevent_core.a 
    -rwxr-xr-x 1 root root 994 Jun 14 16:03 libevent_core.la 
    lrwxrwxrwx 1 root root  26 Jun 14 16:03 libevent_core.so -> libevent_core-1.4.so.2.2.0 
    lrwxrwxrwx 1 root root  27 Jun 14 16:03 libevent_extra-1.4.so.2 -> libevent_extra-1.4.so.2.2.0 
    -rwxr-xr-x 1 root root 339502 Jun 14 16:03 libevent_extra-1.4.so.2.2.0 
    -rw-r--r-- 1 root root 642916 Jun 14 16:03 libevent_extra.a 
    -rwxr-xr-x 1 root root 1001 Jun 14 16:03 libevent_extra.la 
    lrwxrwxrwx 1 root root  27 Jun 14 16:03 libevent_extra.so -> libevent_extra-1.4.so.2.2.0 
    -rwxr-xr-x 1 root root 959 Jun 14 16:03 libevent.la 
    lrwxrwxrwx 1 root root  21 Jun 14 16:03 libevent.so -> libevent-1.4.so.2.2.0 
    [[email protected] server_agent]# ls -al /usr/lib64 | grep libevent 
    [[email protected] server_agent]# ls -al /usr/local/lib64 | grep libevent 

?感謝! ありがとう!

答えて

7

"A"システムには、/usr/lib/libevent-1.4.so.2から/usr/local/lib/libevent-1.4.so.2へのシンボリックリンクがありますが、システム "B"にはシンボリックリンクがありません。あなたがそれを作成すると、すべてが機能し始める可能性があります。

コマンドは次のとおりです。

sudo ln -s /usr/local/lib/libevent-1.4.so.2 /usr/lib/libevent-1.4.so.2 

別の方法として、あなたはシステム「B」上の一時的な修正としてLD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/libをエクスポートすることで、テストとして、あなたのライブラリパスに/usr/local/libを追加することができます。

+0

イランコマンド 'sudo ln -s /usr/local/lib/libevent-1.4.so.2 /usr/lib/libevent-1.4.so.2'と/ usr/lib/libevent- 1.4.so.2から/usr/local/lib/libevent-1.4.so.2には、問題はまだありますが、 – misteryes

+0

ですが、LD_LIBRARY_PATHのエクスポートは機能します。しかし、エクスポートする前に、私は$ LD_LIBRARY_PATHだけが空であるのです、なぜですか? – misteryes

+0

あなたのBシステムは、Aシステムとは異なるデフォルトのldパスを持っているかもしれません。それはシンボリックリンクがうまくいかない理由を説明しません。ここから診断すると、ld.so.confの設定を調べて、どのディレクトリがライブラリのためにチェックされているかを確認するのが最善です。 LD_LIBRARY_PATHに関しては、それが完全に空であることはまったく正常です。既存の値への参照は、シェル設定で1つのセットを持つ可能性を避けるためにのみ含まれています。 – njustn

関連する問題

 関連する問題