【问题标题】:How to link correctly X11 and GLIBC with node-gyp?如何将 X11 和 GLIBC 与 node-gyp 正确链接?
【发布时间】:2021-08-04 13:49:34
【问题描述】:

使用 -lX11-lXtst 制作 node.js C++ 插件。但是,链接失败并出现错误。

Error: /snap/core/current/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /lib/x86_64-linux-gnu/libX11.so.6)

【问题讨论】:

    标签: c x11 glibc dynamic-linking node-gyp


    【解决方案1】:

    但是,链接失败并出现错误。

    您的构建环境未通过基本的健全性检查。

    您正在尝试将您的二进制文件与 system libX11.so.6 链接,该系统是针对 GLIBC-2.33 或更高版本构建的,并且您正在尝试与 alternate 链接(旧)GLIBC 位于 /snap/core/current/lib

    您需要使用libX11.so.6,它也是针对旧版 GLIBC 构建的。

    【讨论】:

    • 是的,我明白这一点。但是我应该写什么bindings.gyp 来链接最新的glibc?如果我使用g++ ... -lX11 -lXtst 手动编译,一切正常。
    • “我应该写什么……”——不知道。您需要找出/snap/core/current/lib 的来源,然后将其删除(假设二进制文件要在您自己的系统上运行)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-28
    • 2020-05-04
    • 1970-01-01
    • 2017-10-18
    • 2015-06-28
    相关资源
    最近更新 更多