是否有编译Linux内核的推荐GCC版本?
我发现Linux内核的标题“编译器-GCC”。它是否包括内核推荐的GCC版本的信息?也就是说,我能找到有关在Linux内核源代码中编译的信息吗?
发布于 2017-01-19 02:16:01
您应该能够使用一个相当老版本的GCC构建Linux内核,可能要追溯到GCC 3.2。Linux4.9.4中的顶层自述文件提到:
- Make sure you have at least gcc 3.2 available.
For more information, refer to Documentation/Changes.文件/改动给出了GCC (列为"GNU“)和其他构建依赖项的列表,以及如何检查当前安装的每个版本:
====================== =============== ========================================
Program Minimal version Command to check the version
====================== =============== ========================================
GNU C 3.2 gcc --version
GNU make 3.80 make --version
binutils 2.12 ld -v
util-linux 2.10o fdformat --version
module-init-tools 0.9.10 depmod -V
e2fsprogs 1.41.4 e2fsck -V
jfsutils 1.1.3 fsck.jfs -V
reiserfsprogs 3.6.3 reiserfsck -V
xfsprogs 2.6.0 xfs_db -V
squashfs-tools 4.0 mksquashfs -version
btrfs-progs 0.18 btrfsck
pcmciautils 004 pccardctl -V
quota-tools 3.09 quota -V
PPP 2.4.0 pppd --version
isdn4k-utils 3.1pre1 isdnctrl 2>&1|grep version
nfs-utils 1.0.5 showmount --version
procps 3.2.0 ps --version
oprofile 0.9 oprofiled --version
udev 081 udevd --version
grub 0.93 grub --version || grub-install --version
mcelog 0.6 mcelog --version
iptables 1.4.2 iptables -V
openssl & libcrypto 1.0.0 openssl version
bc 1.06.95 bc --version
Sphinx\ [#f1]_ 1.2 sphinx-build --version
====================== =============== ========================================
.. [#f1] Sphinx is needed only to build the Kernel documentation在实际编译的内核源代码中检查Documentation/Changes文件是个好主意。
尽管如此,使用较新版本的GCC可能是个好主意,因为较新的版本有更好的优化器,因此通常可以生成更快的代码,而且新版本具有更易读的诊断信息,因此可能更容易发现构建失败的原因。
总的来说,我建议使用GCC的版本,该版本是为您的系统正式打包的。在Ubuntu中,安装为build-essential元包依赖项的GCC版本应该总是足够的,至少对于构建与系统正式打包的内核不相上下的内核来说是足够的。
https://askubuntu.com/questions/873278
复制相似问题