Makefile版本安装问题:make每次全量编译、glob/glob.c: : undefined reference问题

问题

  1. 编译Linux内核时,使用make导致每次均全量编译的问题,每次编译耗费大量时间。各种搜索之后发现是Makefile版本和Ubuntu版本的问题(猜测)
  2. 安装makefile 版本glob/glob.c: : undefined reference问题
  3. /usr/bin/mkdir: 无法创建目录 "/usr/local/share/man/man1": 文件已存在

解决方法

我使用的:Ubuntu22.04 + make 4.3(使用make -v查看make版本)

要降低makefile版本,重新下载安装makefile其他版本

重新安装make4.1版本,下面是安装更改流程:

  1. 下载官网地址:Index of /gnu/make
  2. 解压makefile压缩包成功
  3. 进入解压的目录中,按顺序执行下面的命令

./configure

./build.sh

./build.sh 步骤会出现报错:

glob/glob.c:1269: undefined reference to `__stat'

或者

glob/glob.c:1269: undefined reference to `__alloca'

解决方法: 

进入glob/glob.c文件,在第211和232注释掉。

输入指令 vi glob/glob.c

添加

#define __alloca         alloca

#define __stat             stat

make

sudo make install

 在执行sudo make install 会有新报错:

/usr/bin/mkdir: 无法创建目录 "/usr/local/share/man/man1": 文件已存在

把文件删掉 ,再重新运行 sudo make install,像这种不报错就差不多成功了

make -v

查看是否按照成功

 此时再去重新编译内核,第一次会全部编译,修改部分文件就会只编译所修改的文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zhaorming.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值