升级到 17.04 后,当我启动 LibreOffice 时,收到以下错误消息:
/usr/lib/libreoffice/program/javaldx: error while loading shared libraries: libreglo.so: cannot open shared object file: No such file or directory
Warning: failed to read path from javaldx
/usr/lib/libreoffice/program/soffice.bin: error while loading shared libraries: libreglo.so: cannot open shared object file: No such file or directory
我尝试完全删除并重新安装该libreoffice
软件包。我检查过,源列表中没有 PPA。
更新:事实证明该文件libreglo.so
存在于目录中/usr/lib/libreoffice/program/
。当我将此目录添加到LD_LIBRARY_PATH
LibreOffice 时,它起作用了。但为什么默认情况下它显然配置错误?
答案1
升级后我遇到了类似的问题。此解决方案(通过禁用 Java)对我有用:
打开 LibreOffice 或任何程序 - Writer、Calc(仅一个程序,设置适用于整个套件)
- 去选项
- 自由办公室
- 先进的
- 取消选中“使用 Java 运行环境”
答案2
我在使用 Ubuntu Artful 17.10 时也遇到了同样的问题。所有 libreoffice 程序都产生了列出的错误。禁用 Java 也没什么用。我尝试清除并重新安装 Libreoffice,甚至清除并从LibreOffice PPA到默认的 Ubuntu 存储库并没有解决问题。我还尝试删除 ~/.config 中的 libreoffice 配置文件
很明显,LibreOffice 没有找到它的库,并且这个帖子让我走上了整理库路径的正确道路。不幸的是,仅仅添加/usr/lib/libreoffice/program
到 LD_LIBRARY_PATH 是不够的。LibreOffice 仍然无法运行。对我来说,我必须确保这/usr/lib/libreoffice/program
是 LibreOffice 查看的第一个库目录。对于 bash,这意味着将以下行添加到.bashrc
export LD_LIBRARY_PATH=:/usr/lib/libreoffice/program:/usr/lib/x86_64-linux-gnu/
对于 UI 来说,这意味着编辑
/usr/share/applications/libreoffice-writer.desktop
并更换
Exec=libreoffice --writer %U
和
Exec=env LD_LIBRARY_PATH=:/usr/lib/libreoffice/program:/usr/lib/x86_64-linux-gnu/ libreoffice --writer %U
我天真地认为 LibreOffice 中有一些重复的库,它们需要加载特定的版本才能运行。
答案3
目前,仅使用 来修改行是不够的%U
。这将修改两个必要的行:
cd /usr/share/applications
sudo su
# enter password
for i in libre*.desktop; do sed -i 's/Exec=libreoffice/Exec=env LD_LIBRARY_PATH=:\/usr\/lib\/libreoffice\/program:\/usr\/lib\/x86_64-linux-gnu\/ libreoffice/g' $i; done
exit
答案4
我通过清除 libreoffice 安装修复了这个问题
sudo apt-get purge libreoffice
我删除了目录
/var/lib/libreoffice
/etc/libreoffice
然后我快速安装了 libreoffice
sudo snap install libreoffice