0
我想解釋一個複雜的問題,請耐心等待。未能加載現有的庫
說我有這些文件
/path/build/
/path/build/liba.so
/path/build/liba.so.3 -> liba.so
/path/build/libtest.so
我甚至已經設置PATH=/path/build:...
(其中...
是我的正常$PATH
)。
在某一點libtest.so
將在運行時加載liba.so.3
。
然而,liba.so.3
似乎並不運行代碼(成功)的負載libtest.so
時存在,而當我問ldd
的幫助,我得到這個:
$ ldd /path/build/libtest.so
linux-vdso.so.1 => (0x00007fff24fff000)
liba.so.3 => not found
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f8fea222000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f8fe9f9e000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f8fe9d88000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f8fe9b6a000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f8fe97c9000)
/lib64/ld-linux-x86-64.so.2 (0x00007f8fea767000)
(注意第二輸出線)
我該如何弄清楚發生了什麼問題?圖書館顯然存在,但裝載者聲稱它不是。
是/ path/build在你的LD_LIBRARY_PATH上? Linux動態加載器在默認位置之後查找Linux上的庫。 – display101 2012-03-14 11:45:44
@keith請將該評論改爲答案,我會接受你的膽量!噢,男孩,我要在角落裏坐下來5分鐘,讓恥辱踢在...... – bitmask 2012-03-14 11:49:55