页次: 1
navicat包是网上下的一个破解版
$ /opt/navicat15.appimage
/tmp/.mount_navicaQVIPrG/AppRun: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory
离线
pacman -S libxcrypt-compat
离线
pacman -S libxcrypt-compat
额,装完又有新的报错了。。。
$ /opt/navicat15.appimage
/tmp/.mount_navicaSwPUGF/AppRun: symbol lookup error: /usr/lib/libgio-2.0.so.0: undefined symbol: g_module_open_full
离线
SamLukeYes 说:pacman -S libxcrypt-compat
额,装完又有新的报错了。。。
$ /opt/navicat15.appimage
/tmp/.mount_navicaSwPUGF/AppRun: symbol lookup error: /usr/lib/libgio-2.0.so.0: undefined symbol: g_module_open_full
找一个老版本的 glib2, 把对应的库提取出来。
pacman -F libgio-2.0.so.0
core/glib2 2.70.2-2 [已安装: 2.72.0-1]
usr/lib/libgio-2.0.so.0
看 AUR 评论
After Arch's glib2 update, Navicat15 reported an error and exited when it started. The error content is that a method in the libgio-2.0.so.0 file is undefined.
The solution is to unpack "glib2-2.68.4-1-x86_64.pkg.tar.zst" and copy "/usr/lib/libgio-2.0.so.0.6800.4" to the package "usr/lib" Inside and renamed to libgio-2.0.so.0
最近编辑记录 sukanka (2022-04-06 14:30:11)
在线
看 AUR 评论
After Arch's glib2 update, Navicat15 reported an error and exited when it started. The error content is that a method in the libgio-2.0.so.0 file is undefined.
The solution is to unpack "glib2-2.68.4-1-x86_64.pkg.tar.zst" and copy "/usr/lib/libgio-2.0.so.0.6800.4" to the package "usr/lib" Inside and renamed to libgio-2.0.so.0
不建议这么干,可能会影响到系统里别的使用 gio 的软件。可以用 bwrap 来处理:
bwrap --dev-bind / / --bind /usr/lib/libgio-2.0.so.0.6800.4 /usr/lib/libgio-2.0.so.0 navicat_command
这样就只针对它(和它的子进程)替换库文件了。
离线
sukanka 说:看 AUR 评论
After Arch's glib2 update, Navicat15 reported an error and exited when it started. The error content is that a method in the libgio-2.0.so.0 file is undefined.
The solution is to unpack "glib2-2.68.4-1-x86_64.pkg.tar.zst" and copy "/usr/lib/libgio-2.0.so.0.6800.4" to the package "usr/lib" Inside and renamed to libgio-2.0.so.0
不建议这么干,可能会影响到系统里别的使用 gio 的软件。可以用 bwrap 来处理:
bwrap --dev-bind / / --bind /usr/lib/libgio-2.0.so.0.6800.4 /usr/lib/libgio-2.0.so.0 navicat_command
这样就只针对它(和它的子进程)替换库文件了。
这个命令不是很懂,现在报这个错误,请问应该如何解决呢?
$ bwrap --dev-bind / / --bind /usr/lib/libgio-2.0.so.0.7200.0 /usr/lib/libgio-2.0.so.0 /opt/navicat15.appimage
fusermount: mount failed: Operation not permitted
Cannot mount AppImage, please check your FUSE setup.
You might still be able to extract the contents of this AppImage
if you run it with the --appimage-extract option.
See https://github.com/AppImage/AppImageKit/wiki/FUSE
for more information
open dir error: No such file or directory
离线
哦 appimage 要特权啊,那没办法了。
离线
sukanka 说:看 AUR 评论
After Arch's glib2 update, Navicat15 reported an error and exited when it started. The error content is that a method in the libgio-2.0.so.0 file is undefined.
The solution is to unpack "glib2-2.68.4-1-x86_64.pkg.tar.zst" and copy "/usr/lib/libgio-2.0.so.0.6800.4" to the package "usr/lib" Inside and renamed to libgio-2.0.so.0
不建议这么干,可能会影响到系统里别的使用 gio 的软件。可以用 bwrap 来处理:
bwrap --dev-bind / / --bind /usr/lib/libgio-2.0.so.0.6800.4 /usr/lib/libgio-2.0.so.0 navicat_command
这样就只针对它(和它的子进程)替换库文件了。
其实我是建议他把里面的库提取出来放到另一个文件夹,启动 那个 appimage 之前先指定 `export LD_LIBRARY_PATH=/your/path/to/lib:$LD_LIBRARY_PATH` 这样应该可行.
或者干脆用 AUR 的PKGBUILD 替换下source 然后 makepkg. (用 AUR 的 PKGBUILD 重新打包不行,看了下 AUR的 PKGBUILD 没有解决这个问题,需要自己他改)
最近编辑记录 sukanka (2022-04-06 17:56:55)
在线
嗯,用 LD_LIBRARY_PATH 也行。
离线
依云 说:sukanka 说:看 AUR 评论
After Arch's glib2 update, Navicat15 reported an error and exited when it started. The error content is that a method in the libgio-2.0.so.0 file is undefined.
The solution is to unpack "glib2-2.68.4-1-x86_64.pkg.tar.zst" and copy "/usr/lib/libgio-2.0.so.0.6800.4" to the package "usr/lib" Inside and renamed to libgio-2.0.so.0
不建议这么干,可能会影响到系统里别的使用 gio 的软件。可以用 bwrap 来处理:
bwrap --dev-bind / / --bind /usr/lib/libgio-2.0.so.0.6800.4 /usr/lib/libgio-2.0.so.0 navicat_command
这样就只针对它(和它的子进程)替换库文件了。
其实我是建议他把里面的库提取出来放到另一个文件夹,启动 那个 appimage 之前先指定 `export LD_LIBRARY_PATH=/your/path/to/lib:$LD_LIBRARY_PATH` 这样应该可行.
或者干脆用 AUR 的PKGBUILD 替换下source 然后 makepkg. (用 AUR 的 PKGBUILD 重新打包不行,看了下 AUR的 PKGBUILD 没有解决这个问题,需要自己他改)
gio好了, 又有新的报错,这是要把所有库都找到换一遍么,早知道就不升级了。。。
/tmp/.mount_navicajckAXV/AppRun: symbol lookup error: /usr/lib/libharfbuzz.so.0: undefined symbol: FT_Done_MM_Var
离线
依云 说:sukanka 说:看 AUR 评论
After Arch's glib2 update, Navicat15 reported an error and exited when it started. The error content is that a method in the libgio-2.0.so.0 file is undefined.
The solution is to unpack "glib2-2.68.4-1-x86_64.pkg.tar.zst" and copy "/usr/lib/libgio-2.0.so.0.6800.4" to the package "usr/lib" Inside and renamed to libgio-2.0.so.0
不建议这么干,可能会影响到系统里别的使用 gio 的软件。可以用 bwrap 来处理:
bwrap --dev-bind / / --bind /usr/lib/libgio-2.0.so.0.6800.4 /usr/lib/libgio-2.0.so.0 navicat_command
这样就只针对它(和它的子进程)替换库文件了。
其实我是建议他把里面的库提取出来放到另一个文件夹,启动 那个 appimage 之前先指定 `export LD_LIBRARY_PATH=/your/path/to/lib:$LD_LIBRARY_PATH` 这样应该可行.
或者干脆用 AUR 的PKGBUILD 替换下source 然后 makepkg. (用 AUR 的 PKGBUILD 重新打包不行,看了下 AUR的 PKGBUILD 没有解决这个问题,需要自己他改)
还好,下了一个anaconda,缺少的库都有,我还以为要一直下不同的软件,最终解决了,感谢指导
离线
gio好了, 又有新的报错,这是要把所有库都找到换一遍么,早知道就不升级了。。。
/tmp/.mount_navicajckAXV/AppRun: symbol lookup error: /usr/lib/libharfbuzz.so.0: undefined symbol: FT_Done_MM_Var
你这路径, 你是直接降级啊,不建议直接降级,迟早系统会蹦.然后你又要发帖子批评 Arch 不稳定.
在线
chen05_20 说:gio好了, 又有新的报错,这是要把所有库都找到换一遍么,早知道就不升级了。。。
/tmp/.mount_navicajckAXV/AppRun: symbol lookup error: /usr/lib/libharfbuzz.so.0: undefined symbol: FT_Done_MM_Var
你这路径, 你是直接降级啊,不建议直接降级,迟早系统会蹦.然后你又要发帖子批评 Arch 不稳定.
没有啊 我按照你上面说的,把缺少的库都收集起来放在一个文件夹里面了,启动脚本是这样
#!/bin/bash
export LD_LIBRARY_PATH=/opt/navicat15/lib:$LD_LIBRARY_PATH;
nohup /opt/navicat/navicat15.appimage >/dev/null 2>&1 &
离线
你用 docker 之类的东西跑吧……
离线
页次: 1