这个错误表明当前目录缺少 configure.ac
或 configure.in
文件(Autotools 的构建配置入口)。以下是详细解决方案:
1. 确认源码完整性
GNU Coreutils 的 Git 仓库中 configure.ac
应位于根目录。检查是否存在:
ls -l configure.ac
- 若存在:可能是工具链问题(跳到第2步)。
- 若不存在:源码下载不完整(跳到第3步)。
2. 修复工具链(当 configure.ac
存在时)
(1) 安装完整依赖
sudo apt-get install autoconf automake libtool gettext texinfo autoconf-archive
(2) 重新生成配置系统
# 清理可能存在的缓存
make distclean || true
# 强制重新生成所有文件(包括缺失的脚本)
autoreconf -ivf --install
--install
:补充缺失的辅助文件(如config.sub
)。
3. 重新克隆仓库(当 configure.ac
缺失时)
可能因 Git 浅克隆或网络中断导致文件缺失:
cd ..
rm -rf coreutils
git clone --depth=1 https://git.savannah.gnu.org/git/coreutils.git
cd coreutils
# 验证关键文件是否存在
ls configure.ac src/ls.c # ls.c是核心代码文件之一
4. (备选方案)直接下载稳定版
从 GNU 官方获取含预生成配置脚本的发布版:
wget https://ftp.gnu.org/gnu/coreutils/coreutils-9.4.tar.xz
tar xvf coreutils-9.4.tar.xz
cd coreutils-9.4/
./configure && make
5. Debugging Tips
(1) 检查 Git Branch/Tag
开发分支可能需要切换标签:
git tag -l | sort -V # 查看版本标签
git checkout v9.4 # 切换到稳定标签
(2) Manual Bootstrap
如果 Autotools 版本极新/极旧,尝试手动生成:
aclocal && autoheader && autoconf && automake --add-missing --copy
根本原因
GNU项目使用 autogen.sh
→ bootstrap
→ configure
流程。你的错误表明:
- 网络问题:Git克隆未完成。
- 工具链缺失:缺少
autoconf
/automake
。 - 开发版代码:需额外生成步骤。
建议参考 Coreutils官方构建指南。
内容由零声教学AI助手提供,问题来源于学员提问