/lib64/libc.so.6:未找到版本“GLIBC_2.14”。为啥我会收到此错误?
Posted
技术标签:
【中文标题】/lib64/libc.so.6:未找到版本“GLIBC_2.14”。为啥我会收到此错误?【英文标题】:/lib64/libc.so.6: version `GLIBC_2.14' not found. Why am I getting this error?/lib64/libc.so.6:未找到版本“GLIBC_2.14”。为什么我会收到此错误? 【发布时间】:2018-11-06 23:11:43 【问题描述】:我在节点 js 中工作。我已经安装了鹰嘴豆泥包。它安装正确。我正在使用这个包来修改 pdf 文件。在下载 pdf 时,我称其为鹰嘴豆泥。 Onclick 下载我收到此错误。
Error: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /var/www/html/node_modules/hummus/binding/hummus.node)
at Object.Module._extensions..node (module.js:681:18)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/var/www/html/node_modules/hummus/hummus.js:5:31)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at /var/www/html/app/routes.js:2250:18
at Layer.handle [as handle_request] (/var/www/html/node_modules/express/lib/router/layer.js:95:5)
在link 的帮助下,我更新了 glibc。但我仍然遇到同样的错误。请帮我找出问题所在。 我正在使用 CentOs 6.9
【问题讨论】:
在你的机器上添加env
的输出。还有ldd /var/www/html/node_modules/hummus/binding/hummus.node
,如果它有效
我不明白
你升级到的glibc版本是多少?另外,您能否提供这些命令的输出 1) env 2) ldd --version 3) yum list glibc
你有机会尝试我的答案吗?
我试过但没用。现在我将服务器更改为 ubuntu。
【参考方案1】:
好的,我无法重现此错误。但是,这可能有效:
从作者https://github.com/galkahana/HummusJS下载整个hummusjs包(例如zip)。
在其 package.json 中添加一个新的脚本条目:"rebuild": "node-pre-gyp rebuild"
。
cd 到桌面上的包文件夹并运行“npm install”。
为安全起见,删除 .binding 和 .build 文件夹。
编辑包中的 binding.gyp 文件('sources'之前的新部分):
],
#added by 11AND2
"conditions": [
[ 'OS=="linux"',
"cflags": ["-include gcc-preinclude.h"]
]],
#end added by 11AND2
'sources': [
然后运行npm run rebuild
并等待:-)
尝试失败的示例并返回报告。也可以执行npm run test
来运行模块测试用例。
【讨论】:
【参考方案2】:您需要在当前安装 glibc 的同时安装 glibc,因为您无法在 centos 6.x 中安全地直接更新到 glibc 2.14。按照以下步骤安装 glibc 2.14:
mkdir ~/glibc214
cd ~/glibc214
wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz
tar zxvf glibc-2.14.tar.gz
cd glibc-2.14
mkdir build
cd build
../configure --prefix=/opt/glibc-2.14
make -j4
sudo make install
export LD_LIBRARY_PATH=/opt/glibc-2.14/lib
(用于当前登录会话)或在 /etc/environment 中添加 LD_LIBRARY_PATH=/opt/glibc-2.14/lib
并执行 source /etc/environment
(永久添加 env 变量)
【讨论】:
sudo make install
, Can't open configuration file /opt/glibc-2.14/etc/ld.so.conf:
在 ../configure --prefix=/opt/glibc-2.14 我得到了配置:错误:在`/root/glibc214/glibc-2.14/build'中:配置:错误:没有可接受的 C在 $PATH 中找到的编译器
@BhartiLadumor 请参阅此链接了解更多信息:***.com/questions/19816275/…
设置LD_LIBRARY_PATH
通常不起作用,原因如下:***.com/a/8658468/50617
修复:glibc-2.14/build/elf/ldconfig: Can't open configuration file glibc-2.14/etc/ld.so.conf: No such file or directory
我做了:cd glibc-2.14/etc/
, sh -c "echo 'glibc-2.14/lib' >> ld.so.conf"
【参考方案3】:
第 8 行。../configure --prefix=/opt/glibc-2.14
对我来说出错了
最后我不得不使用以下
../configure --prefix=/opt/glibc-2.14 libc_cv_forced_unwind=yes libc_cv_c_cleanup=yes
【讨论】:
【参考方案4】:第一个答案的第 8 行变成了
../glibc-2.14/configure --prefix=$HOME/.local
那么我们不需要第 10 行的“sudo”
make install
够了
你可能需要
touch $HOME/.local/etc/ld.so.conf
第 11 行变为;
export LD_LIBRARY_PATH="$HOME/.local/lib"
在 el6 的 .bash_profile 中
感谢和问候
【讨论】:
以上是关于/lib64/libc.so.6:未找到版本“GLIBC_2.14”。为啥我会收到此错误?的主要内容,如果未能解决你的问题,请参考以下文章
CentOS “/lib64/libc.so.6: version `GLIBC_2.14′ not found”系统glibc版本太低