2012年1月16日星期一

CentOS(RHEL) 6.2 Mock Build 編譯 scim-bridge 失敗的問題

習慣使用 SCIM 引擎的常用輸入法的 CentOS(RHEL) 6 用戶應該知道桌面系統已採用 iBUS 輸入法引擎而且把 SCIM 排除掉, 不太習慣沒有 SCIM 常用輸入法表的用戶只得自己動手來豐衣足食, 不過使用 CentOS(RHEL) 6.2 版本的新用戶或許已遇到 mock build 編譯 scim-bridge 時失敗的問題, 此問題是 epel 程式庫 mock 軟體的 script 臭蟲造成, 不斷腦惱測試後成功 mock build 編譯的簡易解決方法也留個參考紀念。

scim-bridge 需要有 qt-devel qt3-devel 開發套件, mock 編譯 scim-bridge 時能夠通過 dependency 檢查而 mock-yum 下載安裝, 不過奇怪的是實際在 root.log 日誌文件內會發現有兩個相同的 qt3-devel 安裝, 而必需的 qt-devel(版本 4)卻沒有正確安裝。

最後導致編譯過程中 qt 版本 4 找不到而缺乏了編譯需求而失敗。

mock build 編譯錯誤安裝而缺乏 qt(版本 4)簡易解決方法
在 mock build 編譯時手動加入 qt-devel 而不清空預載
執行: (例如: 32bit i686)
$ mock -r epel-6-i386 --arch=i686 --resultdir=$HOME --init
$ mock -r epel-6-i386 --arch=i686 --resultdir=$HOME --install http://mirror.centos.org/centos-6/6.2/os/i386/Packages/qt-devel-4.6.2-20.el6.i686.rpm --no-clean
然後在不清空預載下 mock build 編譯 scim-bridge
執行:
$ mock -r epel-6-i386 --arch=i686 --resultdir=$HOME --rebuild scim-bridge-0.4.16-6.fc15.src.rpm --define 'dist .el6' --no-clean

mock build 編譯 scim-bridge 成功通過檢測 qt(版本 4)

mock build 編譯 scim-bridge 完成

手動安裝 scim-bridge 完成後執行 im-chooser(其他步驟參考 CentOS(RHEL) 6 mock build 編譯 scim)

沒有留言:

發佈留言