2011年1月20日 星期四

在 Ubuntu 上編原始碼安裝的方法

官網有超詳細的說明, 看完這兩篇後就有基本戰鬥力了:
編原始碼的三個步驟是
  1. ./configure
  2. make
  3. 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。這裡有些介紹, 超簡單的。

1 則留言:

  1. 在 make instaill 原目錄應該可用 make uninstall 移除?

    回覆刪除

在 Fedora 下裝 id-utils

Fedora 似乎因為執行檔撞名,而沒有提供 id-utils 的套件 ,但這是使用 gj 的必要套件,只好自己編。從官網抓好 tarball ,解開來編譯 (./configure && make)就是了。 但編譯後會遇到錯誤: ./stdio.h:10...