目录
注意,对于比较老的内核,如linux 4.4(许多中标麒麟和银河麒麟都是用这个老版本),elfutils0.170是编译不过去的。应使用老版本的elfutils,如0.164。后面的编译过程不变。
按照elfutils-0.170 (linuxfromscratch.org)
的描述,首先
./configure --prefix=/usr --program-prefix="eu-"
注意,在某些平台上,要先执行autoreconf -i再configure
执行make后,在elfutils0.170中遇到如下问题,报错:(elfutils-0.164无此问题)
error: ‘__elf64_msize’ specifies less restrictive attribute than its target ‘elf64_fsize’: ‘const’ [-Werror=missing-attributes]
根据linux - #pragma GCC diagnostic ignored "-Wmissing-attributes" does not work - Stack Overflow
的描述,执行以下命令:
sed -i 's/-Werror//g' $(find . -type f -exec egrep -l _no_Werror {} \;)
其具体意义见我的另一篇博客对一条Linux命令的解读(sed find egrep)_金色熊族的博客-CSDN博客
然后再执行一遍make