永中office 无法在 debian 12 下运行

从 优麒麟源和星火商店下载安装的永中office ,都无法在 debian 12 下运行。现在永中官网上也找不到 linux 版的下载链接了。
安装永中 office 是为了解决:㈠部分第三方软件生成的 xlsx 文件,无法用 wps2linux 或者 libreoffice 打开,只能永中office打开。或者在 windows 平台上使用 ms-office 或者 wps-office 打开。㈡打开 ofd 文件,linux平台上,还就永中打开 ofd 文件好使。

求解决办法。

你得先知道报错,没有任何日志信息你让我们怎么帮你。给你个建议,找到软件的安装目录,然后再终端运行程序,通常来说,终端会有一些信息。

~$ yozo
~$ /opt/Yozosoft/Yozo_Office/Yozo_Office.bin: symbol lookup error: /lib/x86_64-linux-gnu/libharfbuzz.so.0: undefined symbol: FT_Get_Transform

~$ ll /lib/x86_64-linux-gnu/libharfbuzz*
lrwxrwxrwx 28 root root 2023-02-02 05:47 /lib/x86_64-linux-gnu/libharfbuzz-icu.so.0 → libharfbuzz-icu.so.0.60000.0
.rw-r–r-- 14,176 root root 2023-02-02 05:47 /lib/x86_64-linux-gnu/libharfbuzz-icu.so.0.60000.0
lrwxrwxrwx 31 root root 2023-02-02 05:47 /lib/x86_64-linux-gnu/libharfbuzz-subset.so.0 → libharfbuzz-subset.so.0.60000.0
.rw-r–r-- 1,046,664 root root 2023-02-02 05:47 /lib/x86_64-linux-gnu/libharfbuzz-subset.so.0.60000.0
lrwxrwxrwx 24 root root 2023-02-02 05:47 /lib/x86_64-linux-gnu/libharfbuzz.so.0 → libharfbuzz.so.0.60000.0
.rw-r–r-- 1,064,504 root root 2023-02-02 05:47 /lib/x86_64-linux-gnu/libharfbuzz.so.0.60000.0

看上去是 libharfbuzz这个动态库的加载有问题,可能是debian12的库太高级了。尝试用debian11的包替换试试,可以先下载回来,然后使用export LD_LIBRARY_PATH=/opt/gtk/lib:$LD_LIBRARY_PATH指定动态库加载路径去测试,如果可以再替换(这存在一定的风险),如果你没有的基础我不建议去搞。如果不着急可以等一段时间,我最近有空的话可以帮你去试试。

linux 下的动态库会不会像 windows 下的 dll 那样有搜索路径?比如首先从 exe 文件所在位置搜索。

有的,如果你手动设置了动态库路径,他会优先查找你指定的路径,没有找到才会去查找系统的动态库路径。注意一点,Linux不会主动搜索当前目录,如果你不指定,他只会搜索系统默认的动态库目录

Debian 11.7 amd64 运行测试:

dpkg -S libharfbuzz.so

libharfbuzz-dev:amd64: /usr/lib/x86_64-linux-gnu/libharfbuzz.so
libharfbuzz0b:amd64: /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0
libharfbuzz0b:amd64: /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0.20704.0

也就是说,包名是 libharfbuzz0b

这里是 Debian 11 amd64 包里,提取出来的库文件。

libharfbuzz.so.0.20704.0.zip
(大小:0.4 M)

你可以下载、解压缩后,复制

libharfbuzz.so.0.20704.0 到 /usr/lib/x86_64-linux-gnu/

再试试重新运行 永中 office.
如果还不行,试试

先把现在系统里的 符号链接文件 libharfbuzz.so 删掉(或者改成别的名字)。
(警告:改这个文件名,可能会有一些不确定的风险,比如某些程序可能无法正常启动或使用)

再把新复制的这个 libharfbuzz.so.0.20704.0, 复制或重命名为 libharfbuzz.so
再启动 永中。

另外,这里有个 Ubuntu 23.10 下无法安装 专业版本的 永中 Office 和 WPS Office 的解决办法,
可以参考:

UOS软件包格式的金山和永中专业版办公套件无法使用,这里给出改造方法

#1

未读帖子 zrqlx126 » 2023-08-12

能不能设置仅对当前需要运行的程序有效的动态库搜索路径,这样不妨碍其他程序。比如针对这个,下载低版本的动态库单独存放,在运行永中office时,让永中优先搜索。其他应用程序不用管这个事

可以,你自己写个shell脚本,在shell脚本中先使用export LD_LIBRARY_PATH导入动态库路径,然后在脚本中运行程序即可。
例如:
export LD_LIBRARY_PATH=xxxx:$LD_LIBRARY_PATH
/opt/xxx
这样写就行了,这样导入的动态库路径只对当前脚本有效。

解决了 libharfbuzz.so 运行库问题,又出现其他运行库问题。算了,暂时放弃了……
另:永中官网竟然没有 Linux 版的下载链接

删掉/opt/Yozosoft/Yozo_Office/Jre/lib/amd64/libfreetype.so.6就行了

谢谢!问题就这么解决了!