Fedora 32编译crunch-3.6报错求助:缺少gnu/stubs-32.h文件
解决crunch-3.6编译时
gnu/stubs-32.h缺失的错误 这个错误很常见——你的系统是64位架构,但crunch的Makefile默认强制用-m32参数编译32位版本,而系统里没装32位C标准库的开发文件,导致编译器找不到gnu/stubs-32.h这个头文件。下面给你两种可行的解决办法:
方法1:安装32位依赖,继续编译32位版本
根据你的Linux发行版选择对应的命令安装依赖:
对于CentOS/RHEL系列:
yum install glibc-devel.i686 gcc.i686 -y
对于Debian/Ubuntu系列:
apt-get update && apt-get install gcc-multilib libc6-dev-i386 -y
安装完成后,回到crunch-3.6目录重新执行:
make
方法2:修改Makefile,编译64位版本(更推荐)
如果不需要32位版本,直接去掉编译时的32位强制选项更简单:
- 在crunch-3.6目录下打开Makefile:
vi Makefile - 找到包含
-m32的编译行(对应报错里的那行gcc命令),删除-m32参数; - 保存退出后,先清理之前的编译残留,再重新编译:
make clean && make
这样就能顺利完成crunch的编译了。
内容的提问来源于stack exchange,提问作者penguinz0
相关产品推荐
相关产品推荐

