- CompilingEasyHowTo: 超詳細說明, 文中提到幾個連結也值得一看
- CompilingSoftware: 沒上篇詳細, 不過有提到一些上篇沒提到的東西
編原始碼的三個步驟是
- ./configure
- make
- make install
最難的是第一步, 這要看 tarball 裡附的 INSTALL 或 README 或 ./configure --help 了解相關設定, 要有耐心。編的過程遇到問題就用 apt-file 或 auto-apt 找出相關套件, 裝好後再繼續, 缺 header 的話, 通常是要裝 X-dev 這類 package。
第二步沒什麼好說的, 第三步最好改用 checkinstall, 可以包成 package 再裝, 日後可用 dpkg -r PKG 移除, 還有用 dpkg -l 查版本, 用 dpkg -L PKG 了解裝了那些檔案。以前用 make install 都會怕怕的, 不知道到底裝了什麼, 裝爛後要怎麼移除。有 checkinstall 實在太方便啦!! 若有多台同 OS 的機器, 編一次之後, 剩下的機器可以用 package 安裝, 省下不少工夫。
但是 Ubuntu 上用 checkinstall 安裝時會出現 "No such file or directory" 的錯誤, 從 console 的訊息來看, checkinstall 嘗試一些 mkdir 的操作, 卻沒有真的建出那些目錄。查了一下, 官網的 bug report 有提到解法, 要加 --fstrans=no, 也就是用 sudo checkinstall -D --fstrans=no 來安裝。另外可用 –install=no 只包 package 不安裝, 還有用 --requires 自己建 package dependency。這裡有些介紹, 超簡單的。
在 make instaill 原目錄應該可用 make uninstall 移除?
回覆刪除