libc 库中的 AppImage“符号查找错误”

问题描述 投票:0回答:1

我在一个系统上创建了一个AppImage文件,但无法在其他系统上运行。

我收到以下错误:

$LD_LIBRARY_PATH=$APPDIR/usr/lib/libc.so.6 ./Programik-x86_64.AppImage  /tmp/.mount_PrograVkCV6J/usr/bin/p: symbol lookup error: /tmp/.mount_PrograVkCV6J/usr/bin/../lib/libc.so.6: undefined symbol: _dl_audit_symbind_alt, version GLIBC_PRIVATE

有时我会得到:

/tmp/.mount_PrograYCt79i/usr/bin/p: symbol lookup error: /tmp/.mount_PrograYCt79i/usr/bin/../lib/libpthread.so.0: undefined symbol: _dl_make_stack_executable, version GLIBC_PRIVATE 

LD_DEBUG=libs ./my-prog.AppImage
输出相同,请参阅此处https://pastebin.com/9ACH9Y41

当我创建包时,我收到以下日志:

Skipping deployment of blacklisted library /lib64/libm.so.6 
Skipping deployment of blacklisted library /lib64/libc.so.6 
Skipping deployment of blacklisted library /lib64/libpthread.so.0 
Skipping deployment of blacklisted library /lib64/librt.so.1 
Skipping deployment of blacklisted library /lib64/libgmp.so.10 
Skipping deployment of blacklisted library /lib64/libdl.so.2 

如何正确创建AppImage?

我的程序的 ldd 列出的所有库都位于 /usr/lib 中,并复制到我的项目 AppImage 中。 我使用 appimagetoollinuxdeploy 创建 AppImage。

我无法使用静态库。

c shared-libraries appimage appimage-builder
1个回答
0
投票

我收到以下错误:

你做错了。首先,

LD_LIBRARY_PATH
应该指向目录,而不是库。

其次,设置

LD_LIBRARY_PATH
选择不同版本的 GLIBC 不起作用,原因请参见此处

© www.soinside.com 2019 - 2024. All rights reserved.