我正在使用 Node.js 工作。我已经安装了鹰嘴豆泥包。它安装正确。我正在使用这个包来修改 pdf 文件。下载 pdf 时,我调用鹰嘴豆泥。单击下载时出现此错误。
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)
在这个链接的帮助下,我更新了 glibc。但我仍然遇到同样的错误。请帮我找出问题所在。 我使用的是 CentOs 6.9
您需要在当前安装的 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
(永久添加环境变量)要在本地安装,第一个答案中的第 8 行变成了
../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
第 8 行。
../configure --prefix=/opt/glibc-2.14
对我来说是错误的
最后我不得不使用以下
../configure --prefix=/opt/glibc-2.14 libc_cv_forced_unwind=yes libc_cv_c_cleanup=yes
好吧,我无法重现这个错误。然而,这可能有效:
从作者那里下载整个 hummusjs 包 https://github.com/galkahana/HummusJS(例如 zip)。
在其 package.json 中添加新的脚本条目:
"rebuild": "node-pre-gyp rebuild"
。cd 到桌面上的包文件夹并运行“npm install”。
为了安全起见,请删除 .binding 和 .build 文件夹。
编辑包中的 binding.gyp 文件(“源”之前的新部分):
],
#added by 11AND2
"conditions": [
[ 'OS=="linux"',
{
"cflags": ["-include gcc-preinclude.h"]
}
]],
#end added by 11AND2
'sources': [
然后运行
npm run rebuild
并等待:-)尝试失败的示例并报告。您还可以执行
npm run test
来运行模块测试用例。安装 python 包时遇到类似的问题:
pip install requests_gssapi
# OSError: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by /home/linuxbrew/.linuxbrew/Cellar/krb5/1.20.1/lib/libgssapi_krb5.so)
使用最新的 gcc 重新安装 Homebrew 修复了以下问题:
sudo rm -rf /home/linuxbrew/.linuxbrew/
sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"
brew install gcc
在 python 中也有同样的问题。我发现最好的解决方案是在本地运行 Lambda 环境,然后在其中创建层。