Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

编译img镜像,在ld链接时出现collect2: error: ld returned 1 exit status并蹦出,(CVI_VB_Exit) #10

Closed
guozijing-zjk opened this issue Sep 9, 2023 · 5 comments

Comments

@guozijing-zjk
Copy link

环境信息

  • OS: Endeavouros(Arch-Linux)
  • SDK: 最新

复现步骤

由于是Arch,所以我尽量跟着sdk中需要的库和环境在Pacman和yay中进行安装。

#执行命令 ./build_milkv.sh

等待链接ld链接时出现:

123

好像是在link中middleware/v2/sample/venc的时候蹦出来的。

1234

最后终端弹出collect2: error: ld returned 1 exit status,然后编译就终止蹦出来了,我该怎么办。:sob:,求指点是缺少什么库吗?

等待开发者的回信ing................

@Nana-Sakura
Copy link

Nana-Sakura commented Sep 21, 2023

Same problem as you.

Environment: Arch Linux ARM64 in QEMU, with Box64

SDK: Latest

Logs:

Looking for /root/duo-buildroot-sdk/host-tools/gcc/riscv64-linux-musl-x86_64/bin/../lib/gcc/riscv64-unknown-linux-musl/10.2.0/../../../../riscv64-unknown-linux-musl/bin/ld
argv[1]="-plugin"
argv[2]="/root/duo-buildroot-sdk/host-tools/gcc/riscv64-linux-musl-x86_64/bin/../libexec/gcc/riscv64-unknown-linux-musl/10.2.0/liblto_plugin.so"
argv[3]="-plugin-opt=/root/duo-buildroot-sdk/host-tools/gcc/riscv64-linux-musl-x86_64/bin/../libexec/gcc/riscv64-unknown-linux-musl/10.2.0/lto-wrapper"
argv[4]="-plugin-opt=-fresolution=/tmp/ccw2i2Q3.res"
argv[5]="-plugin-opt=-pass-through=-lgcc"
argv[6]="-plugin-opt=-pass-through=-lgcc_eh"
argv[7]="-plugin-opt=-pass-through=-lc"
argv[8]="--sysroot=/root/duo-buildroot-sdk/host-tools/gcc/riscv64-linux-musl-x86_64/bin/../sysroot"
argv[9]="-melf64lriscv"
argv[10]="-static"
argv[11]="-o"
argv[12]="sample_venc"
argv[13]="/root/duo-buildroot-sdk/host-tools/gcc/riscv64-linux-musl-x86_64/bin/../sysroot/usr/lib64v0p7_xthead/lp64d/crt1.o"
argv[14]="/root/duo-buildroot-sdk/host-tools/gcc/riscv64-linux-musl-x86_64/bin/../lib/gcc/riscv64-unknown-linux-musl/10.2.0/lib64v0p7_xthead/lp64d/crti.o"
argv[15]="/root/duo-buildroot-sdk/host-tools/gcc/riscv64-linux-musl-x86_64/bin/../lib/gcc/riscv64-unknown-linux-musl/10.2.0/lib64v0p7_xthead/lp64d/crtbeginT.o"
argv[16]="-L/root/duo-buildroot-sdk/middleware/v2/lib"
argv[17]="-L/root/duo-buildroot-sdk/middleware/v2/lib/3rd"
argv[18]="-L/root/duo-buildroot-sdk/ramdisk/rootfs/public/dropbear/musl_riscv64/lib"
argv[19]="-L/root/duo-buildroot-sdk/ramdisk/rootfs/public/dropbear/musl_riscv64/lib/3rd"
argv[20]="-L/root/duo-buildroot-sdk/ramdisk/rootfs/public/dropbear/musl_riscv64/usr/lib"
argv[21]="-L/root/duo-buildroot-sdk/ramdisk/rootfs/public/wifi/musl_riscv64/lib"
argv[22]="-L/root/duo-buildroot-sdk/ramdisk/rootfs/public/wifi/musl_riscv64/lib/3rd"
argv[23]="-L/root/duo-buildroot-sdk/ramdisk/rootfs/public/wifi/musl_riscv64/usr/lib"
argv[24]="-L/root/duo-buildroot-sdk/ramdisk/rootfs/public/crontabs/musl_riscv64/lib"
argv[25]="-L/root/duo-buildroot-sdk/ramdisk/rootfs/public/crontabs/musl_riscv64/lib/3rd"
argv[26]="-L/root/duo-buildroot-sdk/ramdisk/rootfs/public/crontabs/musl_riscv64/usr/lib"
argv[27]="-L/root/duo-buildroot-sdk/ramdisk/rootfs/public/ntp/musl_riscv64/lib"
argv[28]="-L/root/duo-buildroot-sdk/ramdisk/rootfs/public/ntp/musl_riscv64/lib/3rd"
argv[29]="-L/root/duo-buildroot-sdk/ramdisk/rootfs/public/ntp/musl_riscv64/usr/lib"
argv[30]="-L/root/duo-buildroot-sdk/middleware/v2/lib"
argv[31]="-L/root/duo-buildroot-sdk/middleware/v2/lib/3rd"
argv[32]="-L-ltinyalsa"
argv[33]="-L/root/duo-buildroot-sdk/host-tools/gcc/riscv64-linux-musl-x86_64/bin/../lib/gcc/riscv64-unknown-linux-musl/10.2.0/lib64v0p7_xthead/lp64d"
argv[34]="-L/root/duo-buildroot-sdk/host-tools/gcc/riscv64-linux-musl-x86_64/bin/../lib/gcc/riscv64-unknown-linux-musl/10.2.0/../../../../riscv64-unknown-linux-musl/lib/../lib64v0p7_xthead/lp64d"
argv[35]="-L/root/duo-buildroot-sdk/host-tools/gcc/riscv64-linux-musl-x86_64/bin/../sysroot/lib/../lib64v0p7_xthead/lp64d"
argv[36]="-L/root/duo-buildroot-sdk/host-tools/gcc/riscv64-linux-musl-x86_64/bin/../lib/gcc/riscv64-unknown-linux-musl/10.2.0"
argv[37]="-L/root/duo-buildroot-sdk/host-tools/gcc/riscv64-linux-musl-x86_64/bin/../lib/gcc"
argv[38]="-L/root/duo-buildroot-sdk/host-tools/gcc/riscv64-linux-musl-x86_64/bin/../lib/gcc/riscv64-unknown-linux-musl/10.2.0/../../../../riscv64-unknown-linux-musl/lib"
argv[39]="-L/root/duo-buildroot-sdk/host-tools/gcc/riscv64-linux-musl-x86_64/bin/../sysroot/lib64v0p7_xthead/lp64d"
argv[40]="-L/root/duo-buildroot-sdk/host-tools/gcc/riscv64-linux-musl-x86_64/bin/../sysroot/usr/lib64v0p7_xthead/lp64d"
argv[41]="-L/root/duo-buildroot-sdk/host-tools/gcc/riscv64-linux-musl-x86_64/bin/../sysroot/lib64/lp64d"
argv[42]="-L/root/duo-buildroot-sdk/host-tools/gcc/riscv64-linux-musl-x86_64/bin/../sysroot/usr/lib64/lp64d"
argv[43]="-L/root/duo-buildroot-sdk/host-tools/gcc/riscv64-linux-musl-x86_64/bin/../sysroot/lib"
argv[44]="/root/duo-buildroot-sdk/middleware/v2/sample/venc/src/sample_venc_lib.o"
argv[45]="/root/duo-buildroot-sdk/middleware/v2/sample/venc/src/sample_venc_testcase.o"
argv[46]="/root/duo-buildroot-sdk/middleware/v2/sample/venc/../vdec/src/sample_vdec_lib.o"
argv[47]="/root/duo-buildroot-sdk/middleware/v2/sample/venc/../vdec/src/sample_vdec_testcase.o"
argv[48]="/root/duo-buildroot-sdk/middleware/v2/sample/venc/sample_venc.o"
argv[49]="--gc-sections"
argv[50]="-lsample"
argv[51]="-lini"
argv[52]="-ldl"
argv[53]="-lcvi_audio"
argv[54]="-lcvi_vqe"
argv[55]="-lcvi_VoiceEngine"
argv[56]="-lcvi_RES1"
argv[57]="-lrt"
argv[58]="-lpthread"
argv[59]="-lcvi_ssp"
argv[60]="-lcli"
argv[61]="-lmisc"
argv[62]="-lvpu"
argv[63]="-lvenc"
argv[64]="-lcvi_bin"
argv[65]="-lcvi_bin_isp"
argv[66]="-lisp"
argv[67]="-lisp_algo"
argv[68]="-lae"
argv[69]="-laf"
argv[70]="-lawb"
argv[71]="-lsns_full"
argv[72]="-latomic"
argv[73]="-lsys"
argv[74]="-lvdec"
argv[75]="-lini"
argv[76]="-lpthread"
argv[77]="-lstdc++"
argv[78]="-lm"
argv[79]="--start-group"
argv[80]="-lgcc"
argv[81]="-lgcc_eh"
argv[82]="-lc"
argv[83]="--end-group"
argv[84]="/root/duo-buildroot-sdk/host-tools/gcc/riscv64-linux-musl-x86_64/bin/../lib/gcc/riscv64-unknown-linux-musl/10.2.0/lib64v0p7_xthead/lp64d/crtend.o"
argv[85]="/root/duo-buildroot-sdk/host-tools/gcc/riscv64-linux-musl-x86_64/bin/../lib/gcc/riscv64-unknown-linux-musl/10.2.0/lib64v0p7_xthead/lp64d/crtn.o"
Rename process to "ld"
Using native(wrapped) libdl.so.2
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) libpthread.so.0
Using native(wrapped) libutil.so.1
Using native(wrapped) librt.so.1
Using emulated /root/duo-buildroot-sdk/host-tools/gcc/riscv64-linux-musl-x86_64/bin/../libexec/gcc/riscv64-unknown-linux-musl/10.2.0/liblto_plugin.so
/root/duo-buildroot-sdk/host-tools/gcc/riscv64-linux-musl-x86_64/bin/../lib/gcc/riscv64-unknown-linux-musl/10.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /root/duo-buildroot-sdk/middleware/v2/lib/libsys.a(cvi_vb.o): in function `CVI_VB_Init':
/root/.jenkins/workspace/v4.1.0_release_build/middleware/v2/modules/sys/src/cvi_vb.c:201: undefined reference to `__atomic_compare_exchange_1'
/root/duo-buildroot-sdk/host-tools/gcc/riscv64-linux-musl-x86_64/bin/../lib/gcc/riscv64-unknown-linux-musl/10.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /root/duo-buildroot-sdk/middleware/v2/lib/libsys.a(cvi_vb.o): in function `CVI_VB_Exit':
/root/.jenkins/workspace/v4.1.0_release_build/middleware/v2/modules/sys/src/cvi_vb.c:225: undefined reference to `__atomic_compare_exchange_1'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:78: sample_venc] Error 1
make[1]: Leaving directory '/root/duo-buildroot-sdk/middleware/v2/sample/venc'
make: *** [Makefile:9: all] Error 1
Error: Build board milkv-duo failed!
[root@Arch duo-buildroot-sdk]# 

@fruit-lxe
Copy link

一模一样的问题,就是建立不了

@hoyang
Copy link

hoyang commented Oct 16, 2023

试过这个吗?#3 (comment)

@carbonfix
Copy link
Contributor

Try using the latest code. If the compilation still fails, it is recommended that you use Docker to compile:
https://github.com/milkv-duo/duo-buildroot-sdk#2-compiled-using-docker

@xnvi
Copy link

xnvi commented Jun 24, 2024

我自己的解决方法,在sophpi/middleware/v2/sample/venc/Makefile的EXTRA_LDFLAGS 后面添加 -latomic,对vdec中的makefile同样有效

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants