470 字
2 分钟
解决 WPS 的 libdbus-1 问题
在给树莓派 5 上 arm64 架构的 Debian 13 系统安装 WPS 365 后,会出现打不开的问题,运行 wps 命令后终端输出如下错误信息:
wely@pi500:/opt/kingsoft/wps-office/office6 $ ./wps
qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
QFont::fromString: Invalid description '苹方-简,10,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,常规体'
QFont::fromString: Invalid description 'Consolas,10,-1,5,400,0,0,0,0,0,0,0,0,0,0,1'
QFont::fromString: Invalid description '苹方-简,10,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,常规体'
QFont::fromString: Invalid description '苹方-简,10,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,常规体'
Cannot find libdbus-1 in your system to resolve symbol 'dbus_get_local_machine_id'.
段错误(核心已转储)
解决方案
在四处搜寻解决方案无果后,GPT-5.1 给出了一个可行的解决方案(不得不说还得是 ChatGPT 厉害):
cd /opt/kingsoft/wps-office/office6/addons/cef
sudo mv libm.so.6 libm.so.6.bak
执行完上述命令后,再次运行 wps,WPS 成功启动。
原因
从报错来看,貌似是 WPS 找不到 libdbus-1 库,但此时系统里是有安装 libdbus-1 库的,运行以下命令可以看到:
wely@pi500:~ $ ls -l /usr/lib/*/libdbus-1.so*
lrwxrwxrwx 1 root root 19 2025年 3月 9日 /usr/lib/aarch64-linux-gnu/libdbus-1.so.3 -> libdbus-1.so.3.38.3
-rw-r--r-- 1 root root 395416 2025年 3月 9日 /usr/lib/aarch64-linux-gnu/libdbus-1.so.3.38.3
手动抓一份调试日志来查找原因:
cd /opt/kingsoft/wps-office/office6
./wps 2> /tmp/wps-ld.log
查看日志内容,发现一行致命错误:
/opt/kingsoft/wps-office/office6/addons/cef/libm.so.6: error: version lookup error:
version `GLIBC_2.39' not found (required by /lib/aarch64-linux-gnu/libsystemd.so.0) (fatal)
意思是:
- WPS 自带了一份旧的
libm.so.6:/opt/kingsoft/wps-office/office6/addons/cef/libm.so.6 - 系统里的
libsystemd.so.0是用 glibc 2.39 编译的,需要GLIBC_2.39版本的符号; - 结果动态链接器优先加载了 WPS 目录里的这个旧
libm.so.6,它没有GLIBC_2.39版本的符号,于是报错 (fatal),后面一连串找libdbus-1也就全都失败了。
所以是 WPS 自带的旧 C 运行库(libm.so.6)跟系统太新(glibc 2.39)的库冲突,把整个动态链接过程搞崩了,Qt 最后只能说“找不到 libdbus-1”。
解决办法:让 WPS 用系统的 libm,而不是自带那份
直接把 WPS 自带的 libm.so.6 改名,让它加载系统的 /lib/aarch64-linux-gnu/libm.so.6:
cd /opt/kingsoft/wps-office/office6/addons/cef
sudo mv libm.so.6 libm.so.6.bak
再次运行 wps,WPS 成功启动。
解决 WPS 的 libdbus-1 问题
https://blog.wely.fun/posts/解决wps的libdbus-1问题/