You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Autoconf报错找不到install-sh等文件,该如何解决?

Autotools报错:找不到install-sh/install.sh/shtool的解决办法及文件说明

这些文件的作用

  • install-sh/install.sh:是Autotools提供的跨平台安装脚本,用来替代系统自带的install命令——不同Unix-like系统的install参数、行为可能有差异,这个脚本能保证在各种系统上一致完成文件复制、权限设置、目录创建等操作,是make install环节的核心依赖脚本。
  • shtool:是一个Shell脚本工具集,包含一系列常用Shell函数,Autotools部分场景会用它处理文件、文本操作,但现在很多项目已经用install-sh替代它了。

解决办法

方法1:用automake自动生成缺失文件

Autotools套件里的automake能自动补全这些辅助脚本,直接执行:

automake --add-missing

这个命令会扫描当前目录,把缺失的install-sh等文件从Autotools的系统模板目录复制过来。执行完再跑autoconf,就能正常完成配置脚本生成了。

方法2:手动复制install-sh

如果不想用automake,可以手动从系统目录复制install-sh。Xubuntu20.04里,这个文件一般在/usr/share/automake-1.16/(版本号可能略有不同,找不到的话可以用find /usr/share -name install-sh搜索),执行:

cp /usr/share/automake-1.16/install-sh .

复制完成后再运行autoconf即可。

方法3:检查configure.ac的宏定义

如果你的configure.ac里加了AC_PROG_INSTALL宏,就会触发对install-sh的检查。要是你的项目完全不需要make install功能,可以尝试注释掉这个宏,但不推荐——毕竟绝大多数项目都需要安装环节,保留这个宏更符合Autotools的标准流程。

内容的提问来源于stack exchange,提问作者4dummies

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 18:33:35