linux内核编译报错(usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x50): multiple definition of 'yylloc';)

linux内核编译报错(usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x50): multiple definition of 'yylloc';)

warren
2024-06-28 / 0 评论 / 14 阅读 / 正在检测是否收录...

故障现象

在编译内核时出现
usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x50): multiple definition of `yylloc’; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0): first defined here
lxytfknj.png

出现的原因

因为gcc版本太高导致
我目前的gcc版本为13.2.0
lxytgzdr.png

解决方案

修改scripts/dtc目录下的dtc-lexer.lex.c_shipped文件
打开文件,在文件中找到YYLTYPE yyloc这一行,
在640行,在之前面加上extern 保存退出即可正常编译。

  sudo vim scripts/dtc/dtc-lexer.lex.c_shipped

lxytjpiu.png
lxytlz66.png

0

评论 (0)

取消