无法使用php执行hadoop命令,因为未找到gcc 4.2.0

pokxtpni  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(303)

当我想运行phpscript时

$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。

ie3xauqp

ie3xauqp1#

/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 随着自定义更改,在这种情况下,它现在会中断,但这似乎不太可能。

相关问题