Closed GreenHatHG closed 5 years ago
可以看看我的AppRun脚本:
#!/bin/bash
HERE="$(dirname "$(readlink -f "${0}")")"
#添加动态链接库路径
export LD_LIBRARY_PATH="$HERE/usr/lib":$LD_LIBRARY_PATH
export LD_LIBRARY_PATH="$HERE/usr/lib/i386-linux-gnu":$LD_LIBRARY_PATH
export LD_LIBRARY_PATH="$HERE/lib":$LD_LIBRARY_PATH
export LD_LIBRARY_PATH="$HERE/lib/i386-linux-gnu":$LD_LIBRARY_PATH
#Sound Library
export LD_LIBRARY_PATH="$HERE/usr/lib/i386-linux-gnu/pulseaudio":$LD_LIBRARY_PATH
export LD_LIBRARY_PATH="$HERE/usr/lib/i386-linux-gnu/alsa-lib":$LD_LIBRARY_PATH
LD_SO="/tmp/ld-linux.so.2"
if [ ! -e $LD_SO ] ; then
echo "Create ld-linux.so.2"
#ln 创建软连接
ln -s $(readlink -f "$HERE"/lib/ld-linux.so.2 ) $LD_SO
fi
前面修改了链接库路径 LD_LIBRARY_PATH。所以执行 ln 命令时,你系统的 ln 程序默认使用的我打包的 libc.so。由于我打包的libc.so是在debian9下的,而你系统的ln使用的libc版本较高,所以不兼容。 你可以执行
./wine64-x86_64.AppImage --appimage-extract
解开我的appimage,修改AppRun,将 ln 的命令放到前面:
#!/bin/bash
HERE="$(dirname "$(readlink -f "${0}")")"
LD_SO="/tmp/ld-linux.so.2"
if [ ! -e $LD_SO ] ; then
echo "Create ld-linux.so.2"
ln -s $(readlink -f "$HERE"/lib/ld-linux.so.2 ) $LD_SO
fi
export LD_LIBRARY_PATH="$HERE/usr/lib":$LD_LIBRARY_PATH
export LD_LIBRARY_PATH="$HERE/usr/lib/i386-linux-gnu":$LD_LIBRARY_PATH
export LD_LIBRARY_PATH="$HERE/lib":$LD_LIBRARY_PATH
export LD_LIBRARY_PATH="$HERE/lib/i386-linux-gnu":$LD_LIBRARY_PATH
#Sound Library
export LD_LIBRARY_PATH="$HERE/usr/lib/i386-linux-gnu/pulseaudio":$LD_LIBRARY_PATH
export LD_LIBRARY_PATH="$HERE/usr/lib/i386-linux-gnu/alsa-lib":$LD_LIBRARY_PATH
function finish {
echo "Wine Cleaning up"
rm $LD_SO
}
trap finish EXIT
#wait wine finish
"$HERE/bin/wine" "$@" | cat
另外wine64-x86_64.AppImage包含了32、64位执行环境,使用 ln 创建了32、64的 ld.so。 上面实例是32位,你可以参照着修改。
谢谢你提供的错误,我也疏忽了,应该将 ln 语句放到前面。
我已经重新打包了,可以直接去 Releases 下载
好的,谢谢
你好,还是一样报错,又得麻烦了
➜ wine sudo rm /usr/bin/wine
➜ wine chmod 777 wine64-x86_64.AppImage
➜ wine sudo ln -s ~/wine/wine64-x86_64.AppImage /usr/bin/wine
➜ wine chmod a+x TIM-x86_64.AppImage
➜ wine ./TIM-x86_64.AppImage
Create ld-linux.so.2
ln: 无法创建符号链接'/tmp/ld-linux.so.2': 文件已存在
Create ld-linux-x86-64.so.2
ln: 无法创建符号链接'./ld-linux-x86-64.so.2': 文件已存在
/tmp/.mount_wineDRrqCe/AppRun:行44: /tmp/.mount_wineDRrqCe/bin/wine: 没有那个文件或目录
/tmp/.mount_wineDRrqCe/AppRun: 行 44: 17535 退出 127 "$HERE/bin/wine" "$@"
17536 段错误 (核心已转储)| cat
Wine Cleaning up
/tmp/.mount_wineDRrqCe/AppRun: 行 19: 17539 段错误 (核心已转储)cat
Cleaning up
开发者你好,我不懂appimage打包那些东西,我只是普通的linux使用者,可能说的一些拆包不是很懂,抱歉
/tmp/ld-linux.so.2,/tmp/ld-linux-x86-64.so.2文件已存在,你尝试删除这两个文件再试试。
日常凉凉
➜ wine ./TIM-x86_64.AppImage
Create ld-linux.so.2
ln: 无法创建符号链接'/tmp/ld-linux.so.2': 文件已存在
Create ld-linux-x86-64.so.2
ln: 无法创建符号链接'./ld-linux-x86-64.so.2': 文件已存在
/tmp/.mount_wineM85INa/AppRun:行44: /tmp/.mount_wineM85INa/bin/wine: 没有那个文件或目录
/tmp/.mount_wineM85INa/AppRun: 行 44: 9835 退出 127 "$HERE/bin/wine" "$@"
9836 段错误 (核心已转储)| cat
Wine Cleaning up
/tmp/.mount_wineM85INa/AppRun: 行 19: 9839 段错误 (核心已转储)cat
Cleaning up
➜ wine rm /tmp/ld-linux.so.2
➜ wine rm ./ld-linux-x86-64.so.2
➜ wine ./TIM-x86_64.AppImage
Create ld-linux.so.2
Create ld-linux-x86-64.so.2
wine: could not exec wineserver
/tmp/.mount_wineKoUn91/AppRun: 行 44: 9907 退出 1 "$HERE/bin/wine" "$@"
9908 段错误 (核心已转储)| cat
Wine Cleaning up
/tmp/.mount_wineKoUn91/AppRun: 行 19: 9913 段错误 (核心已转储)cat
Cleaning up
我咋 Live CD 中测试通过,只是中文显示存在问题。
➜ Downloads sudo ln -s /home/cc/Downloads/Wine-x86_64.AppImage /usr/bin/wine
[sudo] cc 的密码:
➜ Downloads cd
➜ ~ cd wine
➜ wine ./TIM-x86_64.AppImage
/tmp/.mount_TIM-x8C1ylK4/AppRun:行24: /usr/bin/wine: 权限不够
Cleaning up
➜ wine sudo chmod 777 /usr/bin/wine
➜ wine sudo chmod 777 /usr/bin/wine
➜ wine ./TIM-x86_64.AppImage
Create ld-linux.so.2
Wine Cleaning up
Cleaning up
➜ wine ./TIM-x86_64.AppImage
Create ld-linux.so.2
Wine Cleaning up
Cleaning up
开发者,这样的话是没有报错了,但是打不开,郁闷
你多启动几次试试,貌似TIM有时会这样
@GreenHatHG 请问你运行成功了吗
我现在已经不用了,可能无法告诉你情况了,抱歉
➜ wine sudo ln -s /home/cc/wine/wine64-x86_64.AppImage /usr/bin/wine
➜ wine chmod +x TIM-x86_64.AppImage ➜ wine ./TIM-x86_64.AppImage Create ld-linux.so.2 ln: /tmp/.mount_wine1EXRWc/lib/x86_64-linux-gnu/libc.so.6: version
GLIBC_2.25' not found (required by ln) Create ld-linux-x86-64.so.2 ln: /tmp/.mount_wine1EXRWc/lib/x86_64-linux-gnu/libc.so.6: version
GLIBC_2.25' not found (required by ln) /tmp/.mount_wine1EXRWc/AppRun:行44: /tmp/.mount_wine1EXRWc/bin/wine: 没有那个文件或目录 /tmp/.mount_wine1EXRWc/AppRun: 行 44: 8927 退出 127 "$HERE/bin/wine" "$@" 8928 段错误 (核心已转储)| cat Wine Cleaning up /tmp/.mount_wine1EXRWc/AppRun: 行 37: 8936 段错误 (核心已转储)cat Cleaning up请问这个是什么回事 OS: Manjaro 17.1.10 Hakoila Kernel: x86_64 Linux 4.14.39-1-MANJARO XFCE4