2013-06-14 26 views
6

Tôi đang sử dụng chương trình không thích hợp, tôi biên dịch chương trình trên hai máy tính A và B, trên A thực hiện thành công, nhưng trên BI có các lỗi sau đây:lỗi khi tải thư viện dùng chung: libevent-1.4.so.2: không thể mở tệp đối tượng được chia sẻ:

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

FYI:

A và B là với hệ thống fedora, trên cả A và B, tôi đã tải về libevent-1.4.14b-stable.tar.gz, và cài đặt nó thông qua cấu hình/làm/thực hiện cài đặt.

trên A

[[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 

trên 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 

tại sao chương trình của tôi nhận được lỗi này trên B và đang có bất kỳ giải pháp? cảm ơn!

Trả lời

7

Hệ thống "A" của bạn có liên kết tượng trưng từ /usr/lib/libevent-1.4.so.2 đến /usr/local/lib/libevent-1.4.so.2 nhưng hệ thống "B" thì không. Rất có thể, nếu bạn tạo ra nó thì mọi thứ sẽ bắt đầu hoạt động.

Lệnh phải như sau.

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

Là một thay thế, bạn có thể thêm /usr/local/lib đến đường dẫn thư viện của bạn như là một thử nghiệm bằng cách xuất LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib như một sửa chữa tạm thời trên hệ thống "B".

+0

therằng lệnh 'sudo ln -s /usr/local/lib/libevent-1.4.so.2 /usr/lib/libevent-1.4.so.2' và tôi nhận được liên kết tượng trưng từ/usr/lib/libevent- 1.4.so.2 đến /usr/local/lib/libevent-1.4.so.2, vấn đề vẫn còn đó – misteryes

+0

nhưng xuất LD_LIBRARY_PATH hoạt động. tuy nhiên, trước khi xuất, tôi chỉ có $ LD_LIBRARY_PATH trống, tại sao? – misteryes

+0

Có thể hệ thống B của bạn có đường dẫn ld mặc định khác với hệ thống A. Điều đó sẽ không giải thích tại sao symlink không hoạt động. Chẩn đoán từ đây sẽ là tốt nhất để xem các thiết lập ld.so.conf của bạn để xem những thư mục nào đang được kiểm tra cho các thư viện. Như LD_LIBRARY_PATH, nó là hoàn toàn bình thường cho rằng để có sản phẩm nào, tôi bao gồm các tham chiếu đến một giá trị hiện có chỉ để tránh khỏi khả năng mà bạn có thể có một bộ trong cấu hình vỏ của bạn. – njustn

Các vấn đề liên quan