我正在尝试在 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/...然后运行:
./configure
sudo make install
make --version
GNU Make 3.82
但是,我仍然收到上述错误消息。
有什么方法可以确保这是仅有的我的系统上没有安装更高版本的 make make
3.X?或者我是否可以安装更高版本的 make 3.X?
答案1
由于 configure 脚本似乎正在寻找 make 的特定位置,我认为您有两个选择:
- 编辑配置脚本以强制使用其他 make,不推荐这样做,因为路径可能在很多地方被硬编码。
- 替换
/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
这会将新的 make 添加到 apt 的数据库中,从而更容易删除、升级或降级。