starfive-tech / VisionFive2

454 stars 81 forks source link

Linking C executable ISP_test error #98

Closed flyingcys closed 5 months ago

flyingcys commented 5 months ago

最新master分支或者VisionFive2 Software v5.11.3都出现如下问题,docker下也是一样的情况。

make -C /home/share/samba/risc-v/jh7110/jh7110_master/buildroot RISCV=/home/share/samba/risc-v/jh7110/jh7110_master/work/buildroot_initramfs/host O=/home/share/samba/risc-v/jh7110/jh7110_master/work/buildroot_initramfs make[1]: Entering directory '/home/share/samba/risc-v/jh7110/jh7110_master/buildroot'

ispsdk 2.0.0 Building PATH="/home/share/samba/risc-v/jh7110/jh7110_master/work/buildroot_initramfs/host/bin:/home/share/samba/risc-v/jh7110/jh7110_master/work/buildroot_initramfs/host/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/Xuantie-900-gcc-elf-newlib-x86_64-V2.8.1/bin:/opt/xuantie-qemu/bin:/home/share/samba/rtos/userapps/tools/gnu_gcc/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu/bin:/opt/gcc-arm-none-eabi-10-2020-q4-major/bin:/opt/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu/bin:/opt/Xuantie-900-gcc-linux-5.10.4-glibc-x86_64-V2.6.2/bin:/home/cys/.bin:/home/cys/.local/bin:/opt/Xuantie-900-gcc-linux-5.10.4-glibc-x86_64-V2.6.2/bin:/opt/Xuantie-900-gcc-elf-newlib-x86_64-V2.8.0/bin" /usr/bin/make -j17 -C /home/share/samba/risc-v/jh7110/jh7110_master/work/buildroot_initramfs/build/ispsdk-2.0.0//buildroot-build [ 0%] Built target Mantis_RegistersDefinitions [ 9%] Built target SensorApi [ 10%] Linking C executable stf_isp_ctrl [ 12%] Linking C executable stf_isp_test [ 13%] Linking C executable StarFiveServer [ 15%] Linking C executable ISP_test /home/share/samba/risc-v/jh7110/jh7110_master/work/buildroot_initramfs/host/lib/gcc/riscv64-buildroot-linux-gnu/12.2.0/../../../../riscv64-buildroot-linux-gnu/bin/ld:../../../libispsdk/libStfIncludes.a: file format not recognized; treating as linker script /home/share/samba/risc-v/jh7110/jh7110_master/work/buildroot_initramfs/host/lib/gcc/riscv64-buildroot-linux-gnu/12.2.0/../../../../riscv64-buildroot-linux-gnu/bin/ld:../../../libispsdk/libStfIncludes.a:1: syntax error collect2: error: ld returned 1 exit status /home/share/samba/risc-v/jh7110/jh7110_master/work/buildroot_initramfs/host/lib/gcc/riscv64-buildroot-linux-gnu/12.2.0/../../../../riscv64-buildroot-linux-gnu/bin/ld:../../../libispsdk/libStfIncludes.a: file format not recognized; treating as linker script /home/share/samba/risc-v/jh7110/jh7110_master/work/buildroot_initramfs/host/lib/gcc/riscv64-buildroot-linux-gnu/12.2.0/../../../../riscv64-buildroot-linux-gnu/bin/ld:../../../libispsdk/libStfIncludes.a:1: syntax error collect2: error: ld returned 1 exit status make[5]: [test_apps/stf_isp_ctrl/CMakeFiles/stf_isp_ctrl.dir/build.make:105: test_apps/stf_isp_ctrl/stf_isp_ctrl] Error 1 make[4]: [CMakeFiles/Makefile2:359: test_apps/stf_isp_ctrl/CMakeFiles/stf_isp_ctrl.dir/all] Error 2 make[4]: Waiting for unfinished jobs.... make[5]: [test_apps/stf_isp_test/CMakeFiles/stf_isp_test.dir/build.make:216: test_apps/stf_isp_test/stf_isp_test] Error 1 /home/share/samba/risc-v/jh7110/jh7110_master/work/buildroot_initramfs/host/lib/gcc/riscv64-buildroot-linux-gnu/12.2.0/../../../../riscv64-buildroot-linux-gnu/bin/ld:../../../libispsdk/libStfIncludes.a: file format not recognized; treating as linker script /home/share/samba/risc-v/jh7110/jh7110_master/work/buildroot_initramfs/host/lib/gcc/riscv64-buildroot-linux-gnu/12.2.0/../../../../riscv64-buildroot-linux-gnu/bin/ld:../../../libispsdk/libStfIncludes.a:1: syntax error make[4]: [CMakeFiles/Makefile2:385: test_apps/stf_isp_test/CMakeFiles/stf_isp_test.dir/all] Error 2 collect2: error: ld returned 1 exit status make[5]: [startfive_apps/StarFiveServer/CMakeFiles/StarFiveServer.dir/build.make:281: startfive_apps/StarFiveServer/StarFiveServer] Error 1 make[4]: [CMakeFiles/Makefile2:411: startfive_apps/StarFiveServer/CMakeFiles/StarFiveServer.dir/all] Error 2 /home/share/samba/risc-v/jh7110/jh7110_master/work/buildroot_initramfs/host/lib/gcc/riscv64-buildroot-linux-gnu/12.2.0/../../../../riscv64-buildroot-linux-gnu/bin/ld:../../../libispsdk/libStfIncludes.a: file format not recognized; treating as linker script /home/share/samba/risc-v/jh7110/jh7110_master/work/buildroot_initramfs/host/lib/gcc/riscv64-buildroot-linux-gnu/12.2.0/../../../../riscv64-buildroot-linux-gnu/bin/ld:../../../libispsdk/libStfIncludes.a:1: syntax error collect2: error: ld returned 1 exit status make[5]: [test_apps/ISP_test/CMakeFiles/ISP_test.dir/build.make:649: test_apps/ISP_test/ISP_test] Error 1 make[4]: [CMakeFiles/Makefile2:333: test_apps/ISP_test/CMakeFiles/ISP_test.dir/all] Error 2 make[3]: [Makefile:146: all] Error 2 make[2]: [package/pkg-generic.mk:295: /home/share/samba/risc-v/jh7110/jh7110_master/work/buildroot_initramfs/build/ispsdk-2.0.0/.stamp_built] Error 2 make[1]: [Makefile:84: _all] Error 2 make[1]: Leaving directory '/home/share/samba/risc-v/jh7110/jh7110_master/buildroot' rm -rf /home/share/samba/risc-v/jh7110/jh7110_master/work/u-boot mkdir -p /home/share/samba/risc-v/jh7110/jh7110_master/work/u-boot mkdir -p /home/share/samba/risc-v/jh7110/jh7110_master/work/u-boot/ make -C /home/share/samba/risc-v/jh7110/jh7110_master/u-boot O=/home/share/samba/risc-v/jh7110/jh7110_master/work/u-boot starfive_visionfive2_defconfig make[1]: Entering directory '/home/share/samba/risc-v/jh7110/jh7110_master/u-boot' make[1]: No rule to make target 'starfive_visionfive2_defconfig'. Stop. make[1]: Leaving directory '/home/share/samba/risc-v/jh7110/jh7110_master/u-boot' make: [Makefile:332: /home/share/samba/risc-v/jh7110/jh7110_master/work/u-boot/u-boot.bin] Error 2

andyhu-stf commented 5 months ago

The SDK use the git lfs to push big binary files to github. It seems it is the git lfs download issue.

Please check the below files size:

$ ls -al soft_3rdpart/ispsdk/DDKSource/libispsdk/*
-rw-r--r-- 1 jenkins jenkins  3316630 Apr 30 15:49 soft_3rdpart/ispsdk/DDKSource/libispsdk/libCI_User.a
-rw-r--r-- 1 jenkins jenkins  1312992 Apr 30 15:49 soft_3rdpart/ispsdk/DDKSource/libispsdk/libISP_API.a
-rw-r--r-- 1 jenkins jenkins 25702800 Apr 30 15:49 soft_3rdpart/ispsdk/DDKSource/libispsdk/libISPC.a
-rw-r--r-- 1 jenkins jenkins   661600 Apr 30 15:49 soft_3rdpart/ispsdk/DDKSource/libispsdk/libmedia-ctrl.a
-rw-r--r-- 1 jenkins jenkins   283370 Apr 30 15:49 soft_3rdpart/ispsdk/DDKSource/libispsdk/libStfCommon.a
-rw-r--r-- 1 jenkins jenkins    15494 Apr 30 15:49 soft_3rdpart/ispsdk/DDKSource/libispsdk/libStfIncludes.a
-rw-r--r-- 1 jenkins jenkins    75762 Apr 30 15:49 soft_3rdpart/ispsdk/DDKSource/libispsdk/libStfLib_LinkedList.a

These files are pushed through git lfs. developer should add git lfs support on your host, can be seen in README.md

$ curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
$ sudo apt-get install git-lfs

For your situation, after install git lfs, then fetch git lfs

$ cd soft_3rdpart/
$ git lfs pull
or:
$ git lfs fetch
$ git lfs checkout

Normally the soft_3rdpart/ispsdk/DDKSource/libispsdk/*.a will be ok. Then try make again

flyingcys commented 5 months ago

Thanks