如何处理m4编译时出现的"Please port gnulib freading.c to your platform!"报错
报错根因
你使用的m4 1.4.10是2007年发布的老旧版本,自带的gnulib库无法适配Kali 2021.3使用的高版本glibc,触发了平台兼容性校验报错。
解决方案(按优先级排序)
方案1:直接使用Kali官方源安装(推荐)
完全不需要手动编译老旧版本,Kali官方源已经提供了适配当前系统的m4包,执行以下命令安装即可:
sudo apt update && sudo apt install -y m4
如果需要同时安装bison,也可以直接通过apt安装:
sudo apt install -y bison
方案2:手动编译新版m4
如果你确实需要自定义安装路径编译m4,请使用1.4.19及以上的新版本,操作步骤如下:
- 清理旧版本源码文件,下载m4 1.4.19及以上版本的官方源码包
- 解压并进入源码目录
tar -zxf m4-1.4.19.tar.gz && cd m4-1.4.19
- 执行configure配置,添加兼容性参数避免报错
./configure --prefix=/opt/m4 gl_cv_func_freading_works=yes
- 编译安装
make -j$(nproc) sudo make install
- 安装完成后将m4的二进制路径加入环境变量即可使用:
echo 'export PATH=/opt/m4/bin:$PATH' >> ~/.bashrc source ~/.bashrc
极端方案:强制兼容老版本m4 1.4.10(不推荐,存在安全漏洞)
如果必须使用1.4.10版本,可手动修改源码跳过校验:
打开lib/freading.c文件,注释掉第44行的#error "Please port gnulib freading.c to your platform!"代码,重新执行make即可。
内容的提问来源于stack exchange,提问作者okbobby
相关产品推荐
相关产品推荐

