一些编译报错

1.   在Ubuntu16.04-64中编译Linux-2.6.35.7版本内核出错[kernel/timeconst.h] Error 255

 

在Ubuntu16.04-64中编译Linux-2.6.35.7版本内核出现错误[kernel/timeconst.h] Error 255可能是由于我们使用

了64位版本的Ubuntu,按照提示信息解决问题即可。

编译中遇到的错误:

TIMEC   kernel/timeconst.h
Can‘t use ‘defined(@array)‘ (Maybe you should just omit the defined()?) at kernel/timeconst.pl line 373.
/root/x210bv3s_bsp/qt_x210v3s/kernel/kernel/Makefile:138: recipe for target ‘kernel/timeconst.h‘ failed
make[1]: *** [kernel/timeconst.h] Error 255
Makefile:883: recipe for target ‘kernel‘ failed
make: *** [kernel] Error 2

报错信息提示我们文件kernelkernel/timeconst.pl的第373不能使用‘defined(@array)‘,
考虑去掉defined(),改为:
372         @val = @{$canned_values{$hz}};
373         if (!@val) {
374                 @val = compute_values($hz);
375         }

更改完成后重新配置、编译即可。

2.     Ubuntu 16.04或18.04 安装32位运行库  (64位系统上安装32位运行库后才能运行32位的软件,例如一些老式的编译器是32位的。)

执行下面的命令安装lib32ncurses5 lib32z1两个32位的库:

$ sudo apt-get install lib32ncurses5 lib32z1