【问题标题】:changing autoconf version on a linux server在 linux 服务器上更改 autoconf 版本
【发布时间】:2012-07-20 00:10:53
【问题描述】:

我需要在 linux 机器上运行一个程序,而我唯一可以访问的是我大学的服务器(由于某种原因)带有过时版本的 autoconf 和 automake。我的程序需要更新的版本。我的主目录中的服务器上有每个最新版本,但由于我不是 root 用户,因此无法将它们安装在 /usr/local/bin 中。所以我想我有两个问题:

  1. 如何让autoconf/automake 安装 在我的主目录的某个地方?这可能吗?
  2. 如何让程序访问这些较新的版本,而不是自动调用过时的版本?

任何帮助将不胜感激。

【问题讨论】:

  • 已经提到的 2 个常见解决方案是 stow 并使用 --prefix=$HOME 安装(有些人喜欢 --prefix=$HOME/usr,如果您使用 NFS 挂载的主目录 --prefix=$HOME/$(uname -m) 很方便。)另一个不错的选择是使用 pkgsrc 并根据需要添加/更新您的软件包。

标签: linux autoconf automake


【解决方案1】:

我不太记得了,但很可能两者都是基于自动工具的,因此您可以使用 ./configure --prefix=${HOME}/autoprefix 进行配置并安装。

【讨论】:

  • 除了我建议对您需要安装的所有 GNU 软件使用相同的前缀,所以./configure --prefix=$HOME/usr 然后在您的$PATH 前面添加$HOME/usr/bin
  • @BasileStarynkevitch,是的,如果需要,我通常使用$HOME/prefix。只是在说明这项技术。
【解决方案2】:

我的首选方法是使用GNU Stow 来管理我的主目录中的包。您可以使用$HOME$HOME/usr 或其他任何东西。我认为$HOME/usr 可能是最好的,因为它不再需要走遍你的homedir。

所以首先你配置和安装 stow。下载并解压,然后运行类似:

$ ./configure --prefix=$HOME/usr && make && make install prefix=$HOME/usr/stow/stow-2.2.0

然后你让stow stow:

$ cd ~/usr/stow
$ stow-2.2.0/bin/stow stow-2.2.0

现在您将$HOME/usr/bin 添加到$PATH。然后你安装autoconf。解压并cd进去,然后运行:

$ ./configure --prefix=$HOME/usr && make && make install prefix=$HOME/usr/stow/autoconf-2.69
$ cd ~/usr/stow
$ stow autoconf-2.69

我为什么要这样做?它让我可以轻松地从我的主目录中删除一个包,而不会引起巨大的头痛:例如cd ~/usr/stow && stow -D autoconf-2.69。我以类似的方式管理/usr/local,但我可以从 apt 中获取信息,因此没有引导问题。

【讨论】:

    猜你喜欢
    • 2016-06-20
    • 2012-01-04
    • 1970-01-01
    • 2014-09-21
    • 2018-05-02
    • 1970-01-01
    • 2012-08-19
    • 2011-03-09
    相关资源
    最近更新 更多