Ubuntu 22.04编译RV1126

2024-03-18 1551阅读

温馨提示:这篇文章已超过430天没有更新,请注意相关的内容是否还可用!

原本SDK 是基于Ubuntu 1604编译的,后面升级到Ubuntu 22.04, 发现太新了导致 SDK 同步以及编译的有问题,在这里做一下记录。

Ubuntu 22.04编译RV1126
(图片来源网络,侵删)

编译报错

/usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x10): multiple definition of `yylloc'; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0): first defined here
collect2: error: ld returned 1 exit status
make[2]: *** [scripts/Makefile.host:108: scripts/dtc/dtc] Error 1
make[1]: *** [scripts/Makefile.build:425: scripts/dtc] Error 2

1.默认gcc-11, 降低到gcc-9

sudo apt install gcc-9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 10
gcc -v

2.默认g+±11, 降低到g+±9

cmServerProtocol.cxx:620:43: error: 'numeric_limits' is not a member of 'std'
sudo apt install g++-9
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 100
g++ -v
  1. 升级m4版本到M4_VERSION = 1.4.19
```c
c-stack.c:55:26: error: missing binary operator before token “(“55
rm package/m4/0002-fflush-be-more-paranoid-about-libio.h-change.patch
rm package/m4/0001-fflush-adjust-to-glibc-2.28-libio.h-removal.patch
~/RV1126_RV1109_LINUX_V1.1.0_20200717/buildroot/package/m4$ git diff m4.mk
diff --git a/package/m4/m4.mk b/package/m4/m4.mk
old mode 100644
new mode 100755
index 849e7f4a54..3a12092971
--- a/package/m4/m4.mk
+++ b/package/m4/m4.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-M4_VERSION = 1.4.18
+M4_VERSION = 1.4.19
 M4_SOURCE = m4-$(M4_VERSION).tar.xz
 M4_SITE = $(BR2_GNU_MIRROR)/m4
 M4_LICENSE = GPL-3.0+
4.处理U-boot 报错
```c
Error: arch/arm/dts/.rk3036-sdk.dtb.pre.tmp:77.1-10 syntax error
FATAL ERROR: Unable to parse input tree
  DTC     arch/arm/dts/rk3368-sheep.dtb
make[2]: *** [scripts/Makefile.lib:319: arch/arm/dts/rk3036-sdk.dtb] Error 1
make[2]: *** Waiting for unfinished jobs....
  DTC     arch/arm/dts/rk3368-geekbox.dtb
Error: arch/arm/dts/.rk3188-radxarock.dtb.pre.tmp:383.1-10 syntax error
FATAL ERROR: Unable to parse input tree
make[2]: *** [scripts/Makefile.lib:319: arch/arm/dts/rk3188-radxarock.dtb] Error 1
Error: arch/arm/dts/.rk3368-lion.dtb.pre.tmp:196.1-10 syntax error
FATAL ERROR: Unable to parse input tree
Error: arch/arm/dts/.rk3328-evb.dtb.pre.tmp:291.1-10 syntax error
FATAL ERROR: Unable to parse input tree
make[2]: *** [scripts/Makefile.lib:319: arch/arm/dts/rk3368-lion.dtb] Error 1
make[2]: *** [scripts/Makefile.lib:319: arch/arm/dts/rk3328-evb.dtb] Error 1
Error: arch/arm/dts/.rk3368-sheep.dtb.pre.tmp:288.1-10 syntax error
FATAL ERROR: Unable to parse input tree
make[2]: *** [scripts/Makefile.lib:319: arch/arm/dts/rk3368-sheep.dtb] Error 1
Error: arch/arm/dts/.rk3368-geekbox.dtb.pre.tmp:320.1-10 syntax error
FATAL ERROR: Unable to parse input tree
make[2]: *** [scripts/Makefile.lib:319: arch/arm/dts/rk3368-geekbox.dtb] Error 1
make[1]: *** [dts/Makefile:101: arch-dtbs] Error 2
make: *** [Makefile:882: dts/dt.dtb] Error 2
ERROR: Running build_uboot failed!
ERROR: exit code 2 from line 341:
~/RV1126_RV1109_LINUX_V1.1.0_20200717/u-boot$ git diff ./
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index 594614a2c6..bb22d57db5 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -28,11 +28,9 @@ dtb-$(CONFIG_EXYNOS5) += exynos5250-arndale.dtb \
        exynos5422-odroidxu3.dtb
 dtb-$(CONFIG_EXYNOS7420) += exynos7420-espresso7420.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += \
-       rk3036-sdk.dtb \
        rk3066a-mk808.dtb \
        rk3126-evb.dtb \
        rk3128-evb.dtb \
-       rk3188-radxarock.dtb \
        rk3288-evb.dtb \
        rk3288-fennec.dtb \
        rk3288-firefly.dtb \
@@ -46,11 +44,6 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += \
        rk3288-veyron-minnie.dtb \
        rk3288-vyasa.dtb \
        rk3308-evb.dtb \
-       rk3328-evb.dtb \
-       rk3368-lion.dtb \
-       rk3368-sheep.dtb \
-       rk3368-geekbox.dtb \
-       rk3368-px5-evb.dtb \
        rk3399-evb.dtb \
        rk3399-firefly.dtb \
        rk3399-puma-ddr1333.dtb \
  1. 更改FAKEROOT_VERSION = 1.33版本
rm package/fakeroot/0002-communicate-check-return-status-of-msgrcv.patch
rm package/fakeroot/0001-hide-dlsym-error.patch
diff --git a/package/fakeroot/fakeroot.mk b/package/fakeroot/fakeroot.mk
old mode 100644
new mode 100755
index 4aa27a1b0c..28a5a77936
--- a/package/fakeroot/fakeroot.mk
+++ b/package/fakeroot/fakeroot.mk
@@ -4,9 +4,9 @@
 #
 ################################################################################
 
-FAKEROOT_VERSION = 1.20.2
-FAKEROOT_SOURCE = fakeroot_$(FAKEROOT_VERSION).orig.tar.bz2
-FAKEROOT_SITE = http://snapshot.debian.org/archive/debian/20141005T221953Z/pool/main/f/fakeroot
+FAKEROOT_VERSION = 1.33
+FAKEROOT_SOURCE = fakeroot_$(FAKEROOT_VERSION).orig.tar.gz
+FAKEROOT_SITE = https://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/pool/main/f/fakeroot/
VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]