|
|
日常工作基本是银河麒麟桌面版,以此为例,我下载了微软的edit
运行时则报错说库文件版本不对,解决的办法是补全库文件让它运行起来。
借助ubuntu,提取库文件,
1、启动ubuntu,切换管理员身份在edit所在文件夹运行:
ldd ./edit
显示以下内容,可见edit依赖libm.so.6和libc.so.6以及动态链接器ld-linux-x86-64.so.2(ld开头是链接器)
linux-vdso.so.1 (0x00007ffe0b35f000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f3f38a8a000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3f388a9000)
/lib64/ld-linux-x86-64.so.2 (0x00007f3f38bcb000)
2、依次复制这几个文件到当前文件夹
cp -L /lib/x86_64-linux-gnu/libm.so.6 .
cp -L /lib/x86_64-linux-gnu/libc.so.6 .
cp -L /lib64/ld-linux-x86-64.so.2 .
启动银河麒麟
尝试运行:
ld-linux-x86-64.so.2 --library-path . ./edit
发现已经能正常运行了
3、写个脚本简化命令行
先把edit重命名为edit.bin
建立空文本名为edit
写入内容
SCRIPT_DIR=$(dirname "$(realpath "${BASH_SOURCE}")")
exec "$SCRIPT_DIR/ld-linux-x86-64.so.2" --library-path "$SCRIPT_DIR" "$SCRIPT_DIR/edit" "$@"
赋予刚刚编辑的edit执行权限即可,现在可以保持文件结构拷到任何目录下运行edit即可
|
|