在Ubuntu 12.04上制作3.82+

我正在尝试在Ubuntu 12.04(64位)上编译一些软件。 它因此错误而失败。

checking for make... /usr/bin/make configure: tested: whether version of /usr/bin/make is 3.82+ configure: ===INF=== Installed version of make is not 3.82+: make: *** No targets specified and no makefile found. Stop. 

检查

 $ make --version GNU Make 3.81 This program built for x86_64-pc-linux-gnu 

我从http://ftp.gnu.org/gnu/make/下载了3.82然后运行:

 ./configure sudo make install make --version GNU Make 3.82 

但是,我仍然收到上述错误消息。

有什么办法可以确保这是我系统上唯一make版本吗? 或者我可以安装更高版本的make 3.X?

由于configure脚本似乎正在查看make的特定位置,我认为您有两个选择:

  1. 编辑配置脚本以强制使用其他make,不推荐使用,因为路径可能在任何数量的地方都是硬编码的。
  2. /usr/bin/make替换为新版本。

我找不到提供更高版本make的PPA,所以我看到两种方法:

更简单的方法:

  sudo mv /usr/bin/make /usr/bin/make-3.81 sudo ln -s /usr/local/bin/make /usr/bin 

通过这种方式,您可以获得原始品牌的备份,并且仍然可以调用旧品牌。

更长的方法:使用checkinstall来管理安装。 使用make install删除安装的文件,然后执行:

 sudo apt-get install checkinstall ./configure --prefix=/usr make sudo checkinstall make install 

这为apt的数据库添加了新的make,使其更容易删除,升级或降级。