筆記: CentOS 5.2 編譯 pttbbs source code 的竅門

話說果茶的 bbs source code 已有十年之久, 若是要在 CentOS 5.2 上 compile, 只會得到一堆 error message. 如此一來就面臨了兩難的狀況: 倒底果茶系統要怎麼升級呢? 是要放棄安裝 CentOS, 還是要放棄 BBS?

怎麼可以這麼快就放棄? 所以又再花了些時間, 發現只是不夠有毅力去解決問題…

讀完 bbs 的 README or INSTALL, 步驟什麼都照做, 像是 libhz 也裝了, 還是有問題?

其實之所以 compile 不出來, 實在是因為 CentOS 5.2 少了好幾根筋:

  • pttbbs 酷愛 pmake, 但 CentOS 5 沒有這東西. 最快的解決方法就是去抓 CentOS 4 的 pmake 1.45-16 rpm 來裝. 因在 CentOS 5 上似乎無法靠自己 build 這個 rpm…
  • CentOS 的 pmake 套件中還少了一項 lorder.sh, 這是 pmake 的 bsd.lib.mk 中指定要用的 shell script 工具, 少了它就無法正確 ar 出能用的 lib .a 檔. 這可以去找 ALTLinux 的 src rpm pmake-1.45-alt4.src.rpm 抓下來 install 後, 可在 /usr/src/redhat/SOURCES 裏找到 lorder.tar 及 lorder-alt-tmp.patch, 解開 tar 並運用該 patch 檔, 就可以得到正確可用的 lorder.sh, 再把它 cp 到 /usr/local/bin/lorder 並使它可執行.
  • ccache 套件也要安裝

如此一來就能順利 compile 出來了. 接下來就只是大苦功: 把舊 BBS 的資料想辦法轉換到新 BBS 上, 理論上這只需要參照兩邊的 data structure 就可以解決才對, 寫寫 C 的小程式還可以吧.

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *