由于gcc和g++版本的更新,在编译之前的Android内核会出现各种各样的问题,本文就multiple definition of `yylloc' 问题解决给出解决方案

本文环境如下:

OS: Linux Mint 21 "Vanessa" 64bit
GCC: gcc 11.2.0
G++: g++ 11.2.0
LD: ld 2.38
Linux Kernel: Linux 5.15.0-41

1、编译Android内核遇到的错误

/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 hereHOSTLD  scripts/mod/modpost
collect2: error: ld returned 1 exit status
make[3]: *** [scripts/Makefile.host:127: scripts/dtc/dtc] Error 1
make[2]: *** [/home/hisen/Android/slim/kernel/lenovo/msm8992/scripts/Makefile.build:455: scripts/dtc] Error 2
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [/home/hisen/Android/slim/kernel/lenovo/msm8992/Makefile:524: scripts] Error 2
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:130: sub-make] Error 2
make: Leaving directory '/home/hisen/Android/slim/kernel/lenovo/msm8992'
[ 36% 775/2138] target asm: libc_sysca...ionic/libc/arch-arm64/syscalls/_exit.S
ninja: build stopped: subcommand failed.
make: *** [build/core/ninja.mk:152: ninja_wrapper] Error 1

2、查看gcc和g++版本

hisen@hisen-K43SA:~/Android/slim$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.2.0-19ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-gBFGDP/gcc-11-11.2.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-11-gBFGDP/gcc-11-11.2.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 11.2.0 (Ubuntu 11.2.0-19ubuntu1)
hisen@hisen-K43SA:~/Android/slim$ g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.2.0-19ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-gBFGDP/gcc-11-11.2.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-11-gBFGDP/gcc-11-11.2.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 11.2.0 (Ubuntu 11.2.0-19ubuntu1)

解决方案:

降级gcc和g++版本到9.x

安装gcc-9和g++-9

sudo apt update
sudo apt install gcc-9 g++-9

更换gcc和g++版本

cd /usr/bin
sudo mv gcc gcc.bak
sudo mv g++ g++.bak
sudo ln -s gcc-9 gcc
sudo ln -s g++-9 g++

重新编译kernel,问题解决

Linux Mint 21编译Android kernel,遇到 multiple definition of `yylloc‘ 的错误解决相关推荐

  1. linux中sqlite3编译时出错,Sqlite3 交叉编译 undefined reference to `fdatasync' 错误解决

    交叉编译sqlite到Android平台, Android.mk 文件内容如下: LOCAL_PATH:= $(call my-dir) INCDIR:=/home/android-ndk-r6b/s ...

  2. HTC Kaiser 编译Android Kernel zImage

    以下是如何编译Android kernel zImage的步骤, 我翻译一下而已. 我是用VMWare的ubuntu 8.04来编译的, 基本上没遇到什么问题. 在Linux的环境下: 建立目录: m ...

  3. android 编译 oserror,编译android kernel时,关闭error, forbidden warning

    编译android kernel时,遇到error, forbidden warning sound/soc/codecs/es8323.c:1249:12: warning: 'entry_read ...

  4. linux mint能用安卓,如何在Ubuntu和Linux Mint上安装Android Studio

    Android Studio 是一个全新的 Android 开发环境,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工 ...

  5. Linux Mint 项目负责人宣布了Linux Mint 21的一些细节

    Linux Mint 项目负责人 Clement Lefebvre 近日在月度通讯中宣布了一些细节,包括即将发布的 Linux Mint 21 版本的代号. 首先,Linux Mint 21 被称为& ...

  6. 惠普Linux成像和打印现在支持Linux Mint 21.1, Ubuntu 22.10

    导读 惠普Linux成像和打印(HPLIP)驱动程序今天已经更新到3.23.3版本,这个版本增加了对最近的Linux Mint.Ubuntu.Fedora.RHEL和MX Linux发行版的支持,以及 ...

  7. Linux Mint 21 Cinnamon安装RSS阅读器FluentReader(FlatPak版))

    RSS新闻聚合阅读已经渐渐淡出了互联网,这种阅读方式的力量如今可算是强弩之末了,做为一名老网友,笔者还通过更种方式,找到一些阅读源,然而如何选择阅读器就成了大问题.Google Reader.InoR ...

  8. Linux Mint 20 升级到 Linux Mint 21

    大部分的升级是安全的,但是它也不会是 100% 的成功.必须要有系统快照和真正的备份. 只能从 Linux Mint 20.3 的 Cinnamon .Xfce 和 MATE 版本升级到 Linux ...

  9. android 源码编译core dumped,Ubuntu18.04 编译Android 8.1 源码出现的问题及解决笔记

    Ubuntu18.04 编译Android 8.1 源码出现的问题及解决笔记 经过不断的尝试并经过一晚上的编译终于在ubuntu18.04的虚拟机内编译成功Android 8.1,下面我列举以下在编译 ...

最新文章

  1. bzoj 1045 [HAOI2008] 糖果传递 —— 贪心
  2. wiki-editor语法
  3. 2021年备考信息系统项目管理师心路历程
  4. linux 下nc-verilog 仿真环境搭建,Cadence NC Verilog仿真教程
  5. Oracle 11g Dataguard搭建及知识梳理
  6. react native 使用TabNavigator编写APP底部导航
  7. 精通Android【Android移动开发制胜宝典】
  8. 字符串hash(类似于进制的hash)
  9. 升讯威自来水公司电子开票系统(金税系统对接开发小记)
  10. 新东方王江涛:十天背完考研英语词汇
  11. 一名技术的原则—美团工作六年的认知(2020年)
  12. c#winform使用EntityFramework导入数据库
  13. java maven 混淆_使用proguard实现maven工程代码混淆
  14. 如何让android的service一直在后台运行?,保持service一直在后台运行
  15. 安卓7.0以后如何开启手电筒
  16. 长短期记忆网络(LSTM)
  17. Lua语法小贴士(二)string库
  18. 计算机显卡的专业术语怎么说,电脑显卡知识你知多少?显卡知识普及
  19. Centos8修改源并更新
  20. plt.plot()函数详解

热门文章

  1. InputStream输入流七牛上传图片
  2. python中patch的使用
  3. 网络诊断工具ping介绍
  4. C语言函数之 fabs()
  5. android为什么总是闪退怎么办,手机应用老是闪退该怎么办?
  6. 一筐梨子amp;一筐水果——协变性(covariant)
  7. 单片机串口通信的多字节传输
  8. torch cosine_similarity 批量两两计算cos值
  9. 【刷题】BZOJ 4698 Sdoi2008 Sandy的卡片
  10. 构建前端项目及使用技术