linux 内核编译支持ext3,Linux内核编译报错的解决办法

1.错误zlib.h

compress.c:14:58: fatal error: zlib.h: No such file or directory

compilation terminated.

解决:sudo apt-get install zlib1g-dev

2.错误bison

make[2]: bison: Command not found

解决:sudo apt-get install bison

3.错误flex

/bin/sh: flex: not found

make[2]: *** [lib/conf-lex.c] Error 127

解决:sudo apt-get install flex

4.错误

lib/libsensors.so: undefined reference to sensors_yylex' lib/libsensors.so: undefined reference tosensors_yyin'

lib/libsensors.so: undefined reference to sensors_lex_error' lib/libsensors.so: undefined reference tosensors_yylineno'

collect2: ld returned 1 exit status

make[2]: *** [prog/sensors/sensors] Error 1

解决:After installing flex and/or bison, you'll need to 'make clean' before 'make user' will work properly.(安装flex或者bison之后,需要先make clean一下)

5.错误gmake

/bin/sh: gmake: not found

make[3]: *** [clean] Error 1

原因:在ubuntu中已经取消掉了gmake,都用make代替。

解决: sudo ln -s /usr/bin/make /usr/bin/gmake

6.错误

(cd basis/build/linux-am34-bluraypan; sh build_me.sh -c -b -j -L lex)

[: 133: unexpected operator

[: 133: unexpected operator

***Error: DirectFB path point to an invalid path

Hint: you can set DirectFB path by:

setenv MEI2_TOOLCHAIN_JAVA_DIR your_directfb_path

use -D build switch, type build_me.sh -h for help

make[4]: *** [clean] Error 1

解决:$ sudo dpkg-reconfigure dash(可见dash的说明文)

选择[NO]

7.错误

Sequence (?<... not recognized in regex marked by here m at line>

解决:perl版本差别引起的异常message,降级perl版本至5.8.9

8.错误XftConfigLexDone

xftlex.l: In function XftConfigLexDone': xftlex.l:274:XftConfig_current_buffer' undeclared (first use in this function)

解决:

flex包版本不匹配.降级到2.5.4后,make clean后,编译通过.

9.错误libext2fs.info

make[5]: makeinfo: Command not found

make[5]: *** [libext2fs.info] Error 127

解决:$ sudo apt-get install texinfo

10.错误gawk

/bin/sh: line 1: gawk: command not found

make[6]: *** [stamp-gtktypebuiltins.h] Error 127

解决:$ sudo apt-get install gawk

11.错误indent

/bin/sh: line 2: indent: command not found

make[6]: *** [stamp-gtkmarshal.h] Error 127

解决:$ sudo apt-get install indent

12 错误: openssl/b

“error : openssl/bio.h :No such file or folder

解决方法:sudo apt-get install libssl-dev

13 错误: code model kernel does not support PIC mode

在进行make oldconfig时出现,code model kernel does not support PIC mode的错误

解决方法如下:

在源码的根目录下的Makefile中的KBUILD_CFLAGS中添加一个编译选项

20201215201525486oruul16g1b13x27_0.png

14 编译linux内核出现"linux/compiler-gcc7.h: No such file or directory"

解决方法如下

https://blog.csdn.net/ysheng76/article/details/104943794

15 重启之后开机出现错误如下:

[Linux] end Kernel panic - not syncing: System is deadlocked on memory错误

解决方法:在虚拟机选项中将内存改大一些,我这边直接改成3GB了,然后再重启

总结:

一般出现”NO such file or directory”之类的报错,先看报错缺的是什么,然后再网上搜索对应的包是什么,使用sudo apt-get install X安装该包

建议不要使用太旧的linux内核版本,因为现在的交叉编译环境也再不断更新,使用太老旧的内核有时候会报一些奇奇怪怪的错误

参考文章:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值