解决方法:Ubuntu 22.04编译Linux内核提示错误multiple definition of `yylloc‘
在使用Ubuntu22.04系统时,编译Linux内核出现错误scripts/dtc/dtc-parser.tab.o:(.bss+0x10): multiple definition of `yylloc’;
·
一、问题
在使用Ubuntu22.04系统时,编译Linux内核出现错误scripts/dtc/dtc-parser.tab.o:(.bss+0x10): multiple definition of `yylloc’; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0): first defined here
二、原因
因为gcc的版本比较高,与当前的ubuntu系统不兼容,使用gcc 10.0以上版本就会出现该错误,所以需要降低gcc版本。
查看当前gcc版本:
gcc --version
当前gcc版本为11.2.0,所以我们要把gcc版本降到9
三、解决方法
-
下载gcc-9
sudo apt install gcc-9
-
将gcc版本都切换为9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 100
-
查看当前gcc版本
gcc --version
当前gcc版本为9.4.0 -
清除上次生成的编译环境,非常重要
sudo make distclean
-
重新编译Linux内核
• 由 Leung 写于 2022 年 9 月 11 日
• 参考:ubuntu22.04 编译Linux内核出现 multiple definition of `yylloc‘ 问题解决
更多推荐
已为社区贡献2条内容
所有评论(0)