CentOS 6.2 執行 yum update 時出現依賴錯誤:
Error: Package: 1:emacs-23.1-21.el6_2.3.x86_64 (@updates)
Requires: libotf.so.0()(64bit)
Removing: openmpi-1.5.3-3.el6.x86_64
...
Not found
實際上是 openmpi 更新導致 libotf.so.0 遺失,emacs 依賴此庫。直接安裝 libotf 套件即可補齊依賴,讓更新順利進行。
yum install libotf
# 或指定架構:
yum install libotf.x86_64
yum update
# 現在應可正常完成更新

libotf 提供 OpenType 字型布局引擎,emacs 編譯時動態連結 libotf.so.0。openmpi 更新移除了舊版提供的 libotf.so.0,導致 emacs 依賴中斷。libotf 套件即可提供缺失的共享庫。# 查詢檔案屬於哪個套件
yum provides */libotf.so.0
# 或
rpm -qf /usr/lib64/libotf.so.0
# 強制重新安裝有問題的套件
yum reinstall emacs openmpi libotf