2017-07-17 39 views
0

當我要運行我的phpscript這是無法與PHP執行Hadoop的命令,因爲GCC 4.2.0中未發現

$cmd = shell_exec('/usr/local/hadoop/bin/hadoop fs -ls /Output'); 
echo '$output'; 

我得到這個在我的PHP錯誤日誌:

Error: failed /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/server/libjvm.so, because /opt/lampp/lib/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/i386-linux-gnu/libstdc++.so.6) 

爲什麼這會發生? 我的Ubuntu版本是12.04 LTS,我的GCC版本是4.6.3。

回答

0

/opt/lampp/lib/libgcc_s.so.1來自舊的GCC版本。可能設置了LD_LIBRARY_PATH以包括目錄/opt/lampp/lib,因此覆蓋該庫的系統版本。

您可以通過刪除(或移開)/opt/lampp/lib/libgcc_s.so.1文件來解決此問題,但應檢查是否沒有其他庫以相同的方式被覆蓋。

通常,它不應該影響其他應用程序,因爲官方libgcc_s.so.1庫(如上游和大多數發行版提供)是非常向後兼容,所以使用較新的版本總是好的。但是,另一個應用程序可能已經發布了修補程序,非官方版本libgcc_s.so.1以及自定義更改,在這種情況下它現在會中斷,但這似乎不太可能。

+0

它的工作原理!非常感謝。我以爲我需要安裝舊版本。這種方法會對hadoop以外的其他應用程序做些什麼嗎? – Andre

+0

我更新了我的答案。特別是'libgcc_s.so.1',它不應該引起問題。 –