2017-04-06 17 views
1

我正在服務器上此錯誤:節點使用什麼env變量來加載庫?

節點:錯誤而載入共享庫:的libstdC++ so.6:無法打開共享對象文件:沒有這樣的文件或目錄

然而一個簡單的查找顯示:

/usr/lib/x86_64-linux-gnu/libstdc++.so.6 

我已經有以下的.bashrc中設置:

export PATH=$PATH:~/.local/bin:/usr/lib 
export LD_LIBRARY_PATH=/usr/lib:/usr/local/lib:~/.local/lib 
export LIBRARY_PATH=/usr/lib:/usr/local/lib:~/.local/lib 

但節點無法找到現有libstd庫。 我已經做了

source .bashrc 

echo $LIBRARY_PATH 

這是一個非常普遍的問題我搜索,但大多數建議的解決方案在我的情況下安裝文件安裝節點只是沒有看到它。

+0

不知您的操作系統? –

+1

你是如何安裝節點的?嘗試設置'LD_DEBUG'。 –

+0

這就是我所需要的不幸的是我知道安裝時出現新的錯誤。設置LB_DEBUG一個答案,我可以標記爲正確的。謝啦。 – liminal18

回答

1

嘗試通過apt-get install lib32stdc++6

安裝缺少lib32stdc++設置LD_DEBUG更好的診斷。
如果設置了LD_DEBUG變量,那麼Linux動態鏈接器將轉儲調試信息,該信息可用於非常快速地解決大多數加載問題。要查看可用選項,只需運行變量設置爲幫助的任何程序。

爲LD_DEBUG環境變量的有效選項是:

libs  display library search paths 
    reloc  display relocation processing 
    files  display progress for input file 
    symbols  display symbol table processing 
    bindings display information about symbol binding 
    versions display version dependencies 
    all   all previous options combined 
    statistics display relocation statistics 
    unused  determined unused DSOs 
    help  display this help message and exit 
+0

這很好,但如果你閱讀原文,你會注意到文件已安裝。另外我在服務器上不是本地計算機,所以我不能使用apt-get。我需要本地庫的32位版本。反正很好的答案。 – liminal18