2013-01-25 61 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来安装软件包。它会创建一个可以在系统上安装的软件包。通过这种方式,您安装的文件由包管理器处理,并且可以轻松删除。
我认为旧软件包会自动删除,当你给你的软件包创建一个更新的版本(我不知道这里)。