最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

错误:libx86

运维笔记admin9浏览0评论

错误:/lib/x86

错误:/lib/x86

我建立既适用于Mac(10.9+)和Linux(Ubuntu的18)我的节点模块(以N-API)。当我部署我的模块,以远程机器(到Heroku的),我得到:

Error: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.27' not found (required by /opt/atlassian/pipelines/agent/build/addons/Release-linux/module.node)
    at Object.Module._extensions..node (internal/modules/cjs/loader.js:717:18)
    at Module.load (internal/modules/cjs/loader.js:598:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
    (...)

在两台机器上运行ldd --version

~ $ ldd --version
ldd (Ubuntu GLIBC 2.27-3ubuntu1) 2.27

和:

~ $ ls /lib/x86_64-linux-gnu/
libm.so.6 (...)

另外,我,我不知道为什么链接到libm是必要的,因为我不使用#include <math.h>我的代码中(编译器暗中加入libm?)。

任何帮助,将不胜感激。

回答如下:

你需要部署到操作系统与您的构建环境兼容。通常情况下,这意味着要使用相同的发行版。在某些情况下,还可以对相同的分布较新版本的部署。

你的Ubuntu的版本使用的glibc 2.27。您的部署目标使用较早的东西,想必无论是Heroku-16或Cedar-14,既然你说你想在Heroku上部署。要么你有一个匹配的编译环境重建你的软件(例如,使用pbuilder,或者使用虚拟机),或部署到的东西,是你的Ubuntu(据推测,Heroku-18)的版本兼容。

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论