[部分已解决] v853 sdk 编译失败:undefined reference to `sunxi_challenge`
-
2022-08-11 UPDATE:
官方 SDK 使用的 openwrt 版本略旧,无法使用 ubuntu 22.04 进行编译。降级为 ubuntu 20.04 补足依赖后成功编译,并未再遇到此错误。
buildroot 无法通过编译,可能也与版本有关,之后再研究吧
目前的docker:https://github.com/duskmoon314/dev-env
我在尝试搭建一个 docker image 用于编译 sdk
日常使用 mac,最近配置了一个 manjaro 用于开发,目标在这上面使用docker image 基于 ubuntu:22.04,安装依赖如下:
apt install -y --no-install-recommends \ git \ ssh \ ca-certificates \ build-essential \ iproute2 \ iputils-ping \ curl \ wget \ neovim \ subversion \ libncurses5-dev \ zlib1g-dev \ gawk \ flex \ quilt \ libssl-dev \ xsltproc \ libxml-parser-perl \ mercurial \ bzr \ ecj \ cvs \ unzip \ lib32z1 \ lib32z1-dev \ lib32stdc++6 \ libstdc++6 \ python3 \ python-is-python3 \ xxd \ # end of list
将容器运行并绑定
tina-v853-open
目录后,按照buildroot
步骤进行编译:duskmoon@devenv-container:/host$ ./build.sh config ========ACTION List: mk_config ;======== options : All available platform: 0. android 1. linux Choice [linux]: All available linux_dev: 0. bsp 1. buildroot 2. tinyos 3. openwrt Choice [buildroot]: All available ic: 0. v853 Choice [v853]: All available board: 0. vision Choice [vision]: All available flash: 0. default 1. nor Choice [default]: INFO: Prepare toolchain ... INFO: kernel defconfig: generate /host/kernel/linux-4.9/.config by /host/device/config/chips/v853/configs/vision/linux-4.9/config-4.9 INFO: Prepare toolchain ... make: Entering directory '/host/kernel/linux-4.9' *** Default configuration is based on '../../../../../device/config/chips/v853/configs/vision/linux-4.9/config-4.9' # # configuration written to .config # make: Leaving directory '/host/kernel/linux-4.9' make: Entering directory '/host/buildroot/buildroot-201902' GEN /host/out/v853/vision/buildroot/buildroot/Makefile Config.in.legacy:1769:warning: choice value used outside its choice group /host/buildroot/buildroot-201902/configs/sun8iw21p1_longan_defconfig:33:warning: override: reassigning to symbol BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV /host/buildroot/buildroot-201902/configs/sun8iw21p1_longan_defconfig:33:warning: override: BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV changes choice state /host/buildroot/buildroot-201902/configs/sun8iw21p1_longan_defconfig:34:warning: override: reassigning to symbol BR2_SYSTEM_BIN_SH_BASH /host/buildroot/buildroot-201902/configs/sun8iw21p1_longan_defconfig:34:warning: override: BR2_SYSTEM_BIN_SH_BASH changes choice state /host/buildroot/buildroot-201902/configs/sun8iw21p1_longan_defconfig:35:warning: override: reassigning to symbol BR2_TARGET_GENERIC_GETTY_PORT /host/buildroot/buildroot-201902/configs/sun8iw21p1_longan_defconfig:36:warning: override: reassigning to symbol BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200 /host/buildroot/buildroot-201902/configs/sun8iw21p1_longan_defconfig:36:warning: override: BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200 changes choice state /host/buildroot/buildroot-201902/configs/sun8iw21p1_longan_defconfig:37:warning: override: reassigning to symbol BR2_ROOTFS_POST_BUILD_SCRIPT /host/buildroot/buildroot-201902/configs/sun8iw21p1_longan_defconfig:38:warning: override: reassigning to symbol BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # # configuration written to /host/out/v853/vision/buildroot/buildroot/.config # make: Leaving directory '/host/buildroot/buildroot-201902' INFO: buildroot defconfig is sun8iw21p1_longan_defconfig INFO: clean buildserver Usage: kill [options] <pid> [...] Options: <pid> [...] send signal to every <pid> listed -<signal>, -s, --signal <signal> specify the <signal> to be sent -q, --queue <value> integer value to be sent with the signal -l, --list=[<signal>] list all signal names, or convert one to a name -L, --table list all signal names in a nice table -h, --help display this help and exit -V, --version output version information and exit For more details see kill(1). INFO: prepare_buildserver
duskmoon@devenv-container:/host$ ./build.sh ========ACTION List: build_linuxdev;======== options : INFO: ---------------------------------------- INFO: build linuxdev ... INFO: chip: sun8iw21p1 INFO: platform: linux INFO: kernel: linux-4.9 INFO: board: vision INFO: output: /host/out/v853/vision/buildroot INFO: ---------------------------------------- INFO: don't build dtbo ... INFO: build arisc INFO: build_bootloader: brandy_path= /host/brandy/brandy-2.0 grep: /host/brandy/brandy-2.0/spl/Makefile: No such file or directory build for sun8iw21p1_defconfig ... ... arch/arm/cpu/armv7/spare_head.o:(.data.uboot_spare_head+0x508): undefined reference to `sunxi_challenge' make: *** [Makefile:1480: u-boot] Error 1 ERROR: build brandy Failed INFO: build_bootloader failed
执行命令都不是 root 用户,映射到系统的可以 sudo 的用户的
openwrt 也是类似的错误
希望有人帮忙看看我漏了什么 orz
-
buildroot不支持 ubuntu:22.04,只有 openwrt支持,buildroot最高支持ubuntu18.04
-
@yteraa 在 v853 sdk 编译失败:undefined reference to `sunxi_challenge` 中说:
buildroot不支持 ubuntu:22.04,只有 openwrt支持,buildroot最高支持ubuntu18.04
啊这,我换 ubuntu 20.04 试试
不过 openwrt 也会报
sunxi_challenge
的问题…… -
啊这,我换 ubuntu 20.04 试试
18.04 和 20.04 也有同样的错误,我觉得问题似乎不在于 ubuntu 版本
-
docker 的问题,sunxi_challenge是从urandom里出来的一个随机码,Makefile把@删了就可以了
CLEAN_FILES += board/sunxi/sunxi_challenge.c board/sunxi/sunxi_challenge.c: echo " prepare sunxi_challenge..." dd if=/dev/urandom of=sunxi_challenge bs=128 count=1 > /dev/null 2>&1 xxd -c 8 -i sunxi_challenge > board/sunxi/sunxi_challenge.c sed -i '/^unsigned/i __attribute__((__used__))' board/sunxi/sunxi_challenge.c rm sunxi_challenge prepare: board/sunxi/sunxi_challenge.c
-
此回复已被删除!
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号