Linux Mint 21编译Android kernel,遇到 multiple definition of `yylloc‘ 的错误解决
由于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‘ 的错误解决相关推荐
- linux中sqlite3编译时出错,Sqlite3 交叉编译 undefined reference to `fdatasync' 错误解决
交叉编译sqlite到Android平台, Android.mk 文件内容如下: LOCAL_PATH:= $(call my-dir) INCDIR:=/home/android-ndk-r6b/s ...
- HTC Kaiser 编译Android Kernel zImage
以下是如何编译Android kernel zImage的步骤, 我翻译一下而已. 我是用VMWare的ubuntu 8.04来编译的, 基本上没遇到什么问题. 在Linux的环境下: 建立目录: m ...
- android 编译 oserror,编译android kernel时,关闭error, forbidden warning
编译android kernel时,遇到error, forbidden warning sound/soc/codecs/es8323.c:1249:12: warning: 'entry_read ...
- linux mint能用安卓,如何在Ubuntu和Linux Mint上安装Android Studio
Android Studio 是一个全新的 Android 开发环境,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工 ...
- Linux Mint 项目负责人宣布了Linux Mint 21的一些细节
Linux Mint 项目负责人 Clement Lefebvre 近日在月度通讯中宣布了一些细节,包括即将发布的 Linux Mint 21 版本的代号. 首先,Linux Mint 21 被称为& ...
- 惠普Linux成像和打印现在支持Linux Mint 21.1, Ubuntu 22.10
导读 惠普Linux成像和打印(HPLIP)驱动程序今天已经更新到3.23.3版本,这个版本增加了对最近的Linux Mint.Ubuntu.Fedora.RHEL和MX Linux发行版的支持,以及 ...
- Linux Mint 21 Cinnamon安装RSS阅读器FluentReader(FlatPak版))
RSS新闻聚合阅读已经渐渐淡出了互联网,这种阅读方式的力量如今可算是强弩之末了,做为一名老网友,笔者还通过更种方式,找到一些阅读源,然而如何选择阅读器就成了大问题.Google Reader.InoR ...
- Linux Mint 20 升级到 Linux Mint 21
大部分的升级是安全的,但是它也不会是 100% 的成功.必须要有系统快照和真正的备份. 只能从 Linux Mint 20.3 的 Cinnamon .Xfce 和 MATE 版本升级到 Linux ...
- android 源码编译core dumped,Ubuntu18.04 编译Android 8.1 源码出现的问题及解决笔记
Ubuntu18.04 编译Android 8.1 源码出现的问题及解决笔记 经过不断的尝试并经过一晚上的编译终于在ubuntu18.04的虚拟机内编译成功Android 8.1,下面我列举以下在编译 ...
最新文章
- bzoj 1045 [HAOI2008] 糖果传递 —— 贪心
- wiki-editor语法
- 2021年备考信息系统项目管理师心路历程
- linux 下nc-verilog 仿真环境搭建,Cadence NC Verilog仿真教程
- Oracle 11g Dataguard搭建及知识梳理
- react native 使用TabNavigator编写APP底部导航
- 精通Android【Android移动开发制胜宝典】
- 字符串hash(类似于进制的hash)
- 升讯威自来水公司电子开票系统(金税系统对接开发小记)
- 新东方王江涛:十天背完考研英语词汇
- 一名技术的原则—美团工作六年的认知(2020年)
- c#winform使用EntityFramework导入数据库
- java maven 混淆_使用proguard实现maven工程代码混淆
- 如何让android的service一直在后台运行?,保持service一直在后台运行
- 安卓7.0以后如何开启手电筒
- 长短期记忆网络(LSTM)
- Lua语法小贴士(二)string库
- 计算机显卡的专业术语怎么说,电脑显卡知识你知多少?显卡知识普及
- Centos8修改源并更新
- plt.plot()函数详解