2013-01-25 96 views
3

我的機器上安裝了cmake 2.8.0(來自ubuntu軟件包),二進制文件放在/ usr/bin/cmake中。我需要升級cmake版本至少2.8.2。 Ubuntu的版本相當老舊,但我現在無法升級它,因此我必須從源代碼安裝它。我已經下載了cmake 2.8.2,後面跟着instructions,並且製作了make install的root權限。現在,我已經安裝了我的機器上有兩個平行的cmakes:ubuntu:升級軟件(cmake) - 版本消歧(本地編譯)

  • 在/ usr/bin中/ cmake的 - 2.8.0
  • 在/ usr/local/bin目錄/ cmake的 - 2.8.2
 
[email protected] $ cmake --version 
2.8.0 

[email protected] $ cmake --version 
2.8.2 

我應該怎麼做才能擺脫2.8.0(現在對我來說已經過時了),還是僅僅用2.8.2來取代2.8.0?我希望任何非用戶鍵入cmake(不指定路徑)以獲取更新的版本。提前致謝。

+0

[Ubuntu發貨](https://launchpad.net/ubuntu/+source/cmake)的cmake版本是2.8.9,它比您定製的版本更新... – Veger

+0

是的,但 - as我寫道 - 我已經有了舊的Ubuntu(清晰的lynx),我現在無法升級它。 Ubuntu 10.04(LL)隨附2.8.0 – ducin

+0

我的不好,我錯過了那部分(雖然它是一種'隱藏') – Veger

回答

3

我們通常使用這些步驟(基本上對任何自定義構建的應用程序):

首先,檢查新建的cmake似乎是工作,通過使用它從生成位置。

當你確認這是工作,你正確使用刪除Ubuntu的版本:

apt-get remove cmake 

最後,使用make install命令安裝較新的cmake。

在我們的例子中,由於您已經安裝了定製版本,您可能需要在刪除Ubuntu軟件包後再次重新安裝cmake,以防止cmake因刪除過程而中斷。

+0

感謝您的回答。我跟着它,現在我在/ usr/local/bin裏面有cmake版本2.8.10.2(最新版本),而在/ usr/bin(apt-get remove)之後沒有任何內容。 root用戶發現/ usr/local/bin,但是當從命令行'bash:/ usr/bin/cmake'運行'$ cmake'時,普通用戶返回以下錯誤:沒有這樣的文件或目錄'。我應該用另一個選項運行'make install'。 – ducin

+0

在適當的設置中,正在搜索的位置(存儲在PATH變量中)包括'/ usr/local/bin',所以它應該可以工作。你是否修改了這個環境變量? – Veger

+0

PATH沒問題。註銷和登錄,一切工作正常。非常感謝! – ducin

2

您應該使用checkinstall來安裝軟件包。它會創建一個可以在系統上安裝的軟件包。通過這種方式,您安裝的文件由包管理器處理,並且可以輕鬆刪除。
我認爲舊軟件包會自動刪除,當你給你的軟件包創建一個更新的版本(我不知道這裏)。