编译openmv的链接问题



  • 我在ubuntu下编译OpenMV for Kendryte K210,一开始使用的是最新的toolchain,但是报错,参考这个帖子(https://forum.kendryte.com/topic/267/k210在windows下编译openmv的问题)解决了,但是又出现了新的问题:

    dasg@lwkj-tj:~/kendryte/kendryte-openmv/build $ make
    Scanning dependencies of target build_metis
    [  2%] Original metis makefile target
    Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.
    [  2%] Built target build_metis
    Scanning dependencies of target kendryte
    [  5%] Building C object lib/CMakeFiles/kendryte.dir/bsp/crt.S.obj
    [  8%] Building C object lib/CMakeFiles/kendryte.dir/bsp/entry.c.obj
    [ 11%] Building C object lib/CMakeFiles/kendryte.dir/bsp/entry_user.c.obj
    [ 14%] Building C object lib/CMakeFiles/kendryte.dir/bsp/interrupt.c.obj
    [ 17%] Building C object lib/CMakeFiles/kendryte.dir/bsp/printf.c.obj
    [ 20%] Building C object lib/CMakeFiles/kendryte.dir/bsp/sleep.c.obj
    [ 22%] Building C object lib/CMakeFiles/kendryte.dir/bsp/syscalls.c.obj
    [ 25%] Building C object lib/CMakeFiles/kendryte.dir/drivers/aes.c.obj
    [ 28%] Building C object lib/CMakeFiles/kendryte.dir/drivers/clint.c.obj
    [ 31%] Building C object lib/CMakeFiles/kendryte.dir/drivers/dmac.c.obj
    [ 34%] Building C object lib/CMakeFiles/kendryte.dir/drivers/dvp.c.obj
    [ 37%] Building C object lib/CMakeFiles/kendryte.dir/drivers/fft.c.obj
    [ 40%] Building C object lib/CMakeFiles/kendryte.dir/drivers/fpioa.c.obj
    [ 42%] Building C object lib/CMakeFiles/kendryte.dir/drivers/gpio.c.obj
    [ 45%] Building C object lib/CMakeFiles/kendryte.dir/drivers/gpiohs.c.obj
    [ 48%] Building C object lib/CMakeFiles/kendryte.dir/drivers/i2c.c.obj
    [ 51%] Building C object lib/CMakeFiles/kendryte.dir/drivers/i2s.c.obj
    [ 54%] Building C object lib/CMakeFiles/kendryte.dir/drivers/kpu.c.obj
    [ 57%] Building C object lib/CMakeFiles/kendryte.dir/drivers/plic.c.obj
    [ 60%] Building C object lib/CMakeFiles/kendryte.dir/drivers/pwm.c.obj
    [ 62%] Building C object lib/CMakeFiles/kendryte.dir/drivers/rtc.c.obj
    [ 65%] Building C object lib/CMakeFiles/kendryte.dir/drivers/sha256.c.obj
    [ 68%] Building C object lib/CMakeFiles/kendryte.dir/drivers/spi.c.obj
    [ 71%] Building C object lib/CMakeFiles/kendryte.dir/drivers/sysclock.c.obj
    [ 74%] Building C object lib/CMakeFiles/kendryte.dir/drivers/sysctl.c.obj
    [ 77%] Building C object lib/CMakeFiles/kendryte.dir/drivers/timer.c.obj
    [ 80%] Building C object lib/CMakeFiles/kendryte.dir/drivers/uart.c.obj
    [ 82%] Building C object lib/CMakeFiles/kendryte.dir/drivers/uarths.c.obj
    [ 85%] Building C object lib/CMakeFiles/kendryte.dir/drivers/utils.c.obj
    [ 88%] Building C object lib/CMakeFiles/kendryte.dir/drivers/wdt.c.obj
    [ 91%] Building C object lib/CMakeFiles/kendryte.dir/math/fastexp.c.obj
    [ 94%] Linking C static library libkendryte.a
    [ 94%] Built target kendryte
    Scanning dependencies of target openmv
    [ 97%] Building C object CMakeFiles/openmv.dir/src/openmv/main/main.c.obj
    [100%] Linking C executable openmv
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: ../src/openmv/src/micropytho
    n/ports/k210-standalone/micropython.a(main.o): can't link hard-float modules with soft-float modules
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: failed to merge target speci
    fic data of file ../src/openmv/src/micropython/ports/k210-standalone/micropython.a(main.o)
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: ../src/openmv/src/micropytho
    n/ports/k210-standalone/micropython.a(w25qxx.o): can't link hard-float modules with soft-float modules
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: failed to merge target speci
    fic data of file ../src/openmv/src/micropython/ports/k210-standalone/micropython.a(w25qxx.o)
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: ../src/openmv/src/micropytho
    n/ports/k210-standalone/micropython.a(uart_core.o): can't link hard-float modules with soft-float modules
    ...
    ...
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /home/dasg/kendryte/kendryte
    -openmv/src/openmv/src/micropython/ports/k210-standalone/../../../omv/img/apriltag.c:11252: undefined reference to `__adddf3'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /home/dasg/kendryte/kendryte
    -openmv/src/openmv/src/micropython/ports/k210-standalone/../../../omv/img/apriltag.c:11252: undefined reference to `__truncdfs
    f2'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /home/dasg/kendryte/kendryte
    -openmv/src/openmv/src/micropython/ports/k210-standalone/../../../omv/img/apriltag.c:11269: undefined reference to `__floatuns
    idf'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /home/dasg/kendryte/kendryte
    -openmv/src/openmv/src/micropython/ports/k210-standalone/../../../omv/img/apriltag.c:11272: undefined reference to `__adddf3'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /home/dasg/kendryte/kendryte
    -openmv/src/openmv/src/micropython/ports/k210-standalone/../../../omv/img/apriltag.c:11296: undefined reference to `__floatuns
    idf'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /home/dasg/kendryte/kendryte
    -openmv/src/openmv/src/micropython/ports/k210-standalone/../../../omv/img/apriltag.c:11296: undefined reference to `__divdf3'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /home/dasg/kendryte/kendryte
    -openmv/src/openmv/src/micropython/ports/k210-standalone/../../../omv/img/apriltag.c:11296: undefined reference to `__truncdfs
    f2'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /home/dasg/kendryte/kendryte
    -openmv/src/openmv/src/micropython/ports/k210-standalone/../../../omv/img/apriltag.c:11296: undefined reference to `__floatuns
    idf'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /home/dasg/kendryte/kendryte
    -openmv/src/openmv/src/micropython/ports/k210-standalone/../../../omv/img/apriltag.c:11296: undefined reference to `__adddf3'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /home/dasg/kendryte/kendryte
    -openmv/src/openmv/src/micropython/ports/k210-standalone/../../../omv/img/apriltag.c:11297: undefined reference to `__divdf3'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /home/dasg/kendryte/kendryte
    -openmv/src/openmv/src/micropython/ports/k210-standalone/../../../omv/img/apriltag.c:11297: undefined reference to `__truncdfs
    f2'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /home/dasg/kendryte/kendryte
    -openmv/src/openmv/src/micropython/ports/k210-standalone/../../../omv/img/apriltag.c:11297: undefined reference to `__extendsf
    df2'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /home/dasg/kendryte/kendryte
    -openmv/src/openmv/src/micropython/ports/k210-standalone/../../../omv/img/apriltag.c:11297: undefined reference to `__subdf3'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /home/dasg/kendryte/kendryte
    -openmv/src/openmv/src/micropython/ports/k210-standalone/../../../omv/img/apriltag.c:11300: undefined reference to `__adddf3'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /home/dasg/kendryte/kendryte
    -openmv/src/openmv/src/micropython/ports/k210-standalone/../../../omv/img/apriltag.c:11300: undefined reference to `__truncdfs
    f2'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /home/dasg/kendryte/kendryte
    -openmv/src/openmv/src/micropython/ports/k210-standalone/../../../omv/img/apriltag.c:11300: undefined reference to `__extendsf
    df2'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /home/dasg/kendryte/kendryte
    -openmv/src/openmv/src/micropython/ports/k210-standalone/../../../omv/img/apriltag.c:11300: undefined reference to `__subdf3'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /home/dasg/kendryte/kendryte
    -openmv/src/openmv/src/micropython/ports/k210-standalone/../../../omv/img/apriltag.c:11301: undefined reference to `__adddf3'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /home/dasg/kendryte/kendryte
    -openmv/src/openmv/src/micropython/ports/k210-standalone/../../../omv/img/apriltag.c:11301: undefined reference to `__truncdfs
    f2'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: ../src/openmv/src/micropytho
    n/ports/k210-standalone/micropython.a(apriltag.o): in function `apriltag_detector_detect':
    /home/dasg/kendryte/kendryte-openmv/src/openmv/src/micropython/ports/k210-standalone/../../../omv/img/apriltag.c:11669: undefi
    ned reference to `__floatsidf'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /home/dasg/kendryte/kendryte
    -openmv/src/openmv/src/micropython/ports/k210-standalone/../../../omv/img/apriltag.c:11670: undefined reference to `__muldf3'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /home/dasg/kendryte/kendryte
    -openmv/src/openmv/src/micropython/ports/k210-standalone/../../../omv/img/apriltag.c:11670: undefined reference to `__muldf3'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /home/dasg/kendryte/kendryte
    -openmv/src/openmv/src/micropython/ports/k210-standalone/../../../omv/img/apriltag.c:11673: undefined reference to `__truncdfs
    f2'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: ../src/openmv/src/micropytho
    n/ports/k210-standalone/micropython.a(apriltag.o): in function `imlib_find_rects':
    /home/dasg/kendryte/kendryte-openmv/src/openmv/src/micropython/ports/k210-standalone/../../../omv/img/apriltag.c:12183: undefi
    ned reference to `__extendsfdf2'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /home/dasg/kendryte/kendryte
    -openmv/src/openmv/src/micropython/ports/k210-standalone/../../../omv/img/apriltag.c:12184: undefined reference to `__divdf3'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /home/dasg/kendryte/kendryte
    -openmv/src/openmv/src/micropython/ports/k210-standalone/../../../omv/img/apriltag.c:12185: undefined reference to `__truncdfs
    f2'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /home/dasg/kendryte/kendryte
    -openmv/src/openmv/src/micropython/ports/k210-standalone/../../../omv/img/apriltag.c:12186: undefined reference to `__floatsid
    f'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /home/dasg/kendryte/kendryte
    -openmv/src/openmv/src/micropython/ports/k210-standalone/../../../omv/img/apriltag.c:12187: undefined reference to `__muldf3'
    ...
    ...
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /opt/kendryte-toolchain/lib/
    gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/lib/libc.a(lib_a-mlock.o): in function `__malloc_unlock':
    mlock.c:(.text.__malloc_unlock+0x4): undefined reference to `_lock_release_recursive'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /opt/kendryte-toolchain/lib/
    gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/lib/libc.a(lib_a-vfiprintf.o): in function `.L13':
    vfprintf.c:(.text._vfiprintf_r+0x4c): undefined reference to `_lock_acquire_recursive'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /opt/kendryte-toolchain/lib/
    gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/lib/libc.a(lib_a-vfiprintf.o): in function `.L16':
    vfprintf.c:(.text._vfiprintf_r+0xa2): undefined reference to `_lock_release_recursive'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /opt/kendryte-toolchain/lib/
    gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/lib/libc.a(lib_a-vfiprintf.o): in function `.L17':
    vfprintf.c:(.text._vfiprintf_r+0xde): undefined reference to `_lock_release_recursive'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /opt/kendryte-toolchain/lib/
    gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/lib/libc.a(lib_a-vfiprintf.o): in function `.L124':
    vfprintf.c:(.text._vfiprintf_r+0x8b6): undefined reference to `_lock_release_recursive'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /opt/kendryte-toolchain/lib/
    gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/lib/libc.a(lib_a-vfiprintf.o): in function `__sbprintf':
    vfprintf.c:(.text.__sbprintf+0x4e): undefined reference to `_lock_init_recursive'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: vfprintf.c:(.text.__sbprintf
    +0x8c): undefined reference to `_lock_close_recursive'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /opt/kendryte-toolchain/lib/
    gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/lib/libc.a(lib_a-fflush.o): in function `.L47':
    fflush.c:(.text._fflush_r+0x3e): undefined reference to `_lock_acquire_recursive'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /opt/kendryte-toolchain/lib/
    gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/lib/libc.a(lib_a-fflush.o): in function `.L49':
    fflush.c:(.text._fflush_r+0x66): undefined reference to `_lock_release_recursive'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /opt/kendryte-toolchain/lib/
    gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/lib/libc.a(lib_a-findfp.o): in function `.L0 ':
    findfp.c:(.text.std+0x68): undefined reference to `_lock_init_recursive'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /opt/kendryte-toolchain/lib/
    gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/lib/libc.a(lib_a-findfp.o): in function `__sfp_lock_acquire':
    findfp.c:(.text.__sfp_lock_acquire+0x4): undefined reference to `_lock_acquire_recursive'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /opt/kendryte-toolchain/lib/
    gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/lib/libc.a(lib_a-findfp.o): in function `__sfp_lock_release':
    findfp.c:(.text.__sfp_lock_release+0x4): undefined reference to `_lock_release_recursive'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /opt/kendryte-toolchain/lib/
    gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/lib/libc.a(lib_a-findfp.o): in function `__sinit_lock_acquire':
    findfp.c:(.text.__sinit_lock_acquire+0x4): undefined reference to `_lock_acquire_recursive'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /opt/kendryte-toolchain/lib/
    gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/lib/libc.a(lib_a-findfp.o): in function `__sinit_lock_release':
    findfp.c:(.text.__sinit_lock_release+0x4): undefined reference to `_lock_release_recursive'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /opt/kendryte-toolchain/lib/
    gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/lib/libc.a(lib_a-fputwc.o): in function `_fputwc_r':
    fputwc.c:(.text._fputwc_r+0x2e): undefined reference to `_lock_acquire_recursive'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: fputwc.c:(.text._fputwc_r+0x
    7a): undefined reference to `_lock_release_recursive'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /opt/kendryte-toolchain/lib/
    gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/lib/libc.a(lib_a-fclose.o): in function `.L3':
    fclose.c:(.text._fclose_r+0x38): undefined reference to `_lock_acquire_recursive'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /opt/kendryte-toolchain/lib/
    gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/lib/libc.a(lib_a-fclose.o): in function `.L4':
    fclose.c:(.text._fclose_r+0x52): undefined reference to `_lock_release_recursive'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /opt/kendryte-toolchain/lib/
    gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/lib/libc.a(lib_a-fclose.o): in function `.L9':
    fclose.c:(.text._fclose_r+0xcc): undefined reference to `_lock_release_recursive'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /opt/kendryte-toolchain/lib/
    gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/lib/libc.a(lib_a-fclose.o): in function `.L11':
    fclose.c:(.text._fclose_r+0xd6): undefined reference to `_lock_close_recursive'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /opt/kendryte-toolchain/lib/
    gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/lib/libc.a(lib_a-__atexit.o): in function `.L0 ':
    __atexit.c:(.text.__register_exitproc+0x12): undefined reference to `_lock_acquire_recursive'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: __atexit.c:(.text.__register
    _exitproc+0x44): undefined reference to `_lock_release_recursive'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /opt/kendryte-toolchain/lib/
    gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/lib/libc.a(lib_a-__atexit.o): in function `.L6':
    __atexit.c:(.text.__register_exitproc+0x9a): undefined reference to `_lock_release_recursive'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: /opt/kendryte-toolchain/lib/
    gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/lib/libc.a(lib_a-__call_atexit.o): in function `.L0 ':
    __call_atexit.c:(.text.__call_exitprocs+0x1c): undefined reference to `_lock_acquire_recursive'
    /opt/kendryte-toolchain/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: __call_atexit.c:(.text.__cal
    l_exitprocs+0x50): undefined reference to `_lock_release_recursive'
    collect2: error: ld returned 1 exit status
    make[2]: *** [openmv] Error 1
    make[1]: *** [CMakeFiles/openmv.dir/all] Error 2
    make: *** [all] Error 2
    

    请问该如何解决呢



  • @kami 什么操作都不需要
    如果还有问题,发一下日志



  • @GongT 您好,我在github上看到上一次更新还是4月12号,请问一下修复的工具链或者解决方案是在哪里下载呢,还是使用什么操作来解决这个问题



  • @GongT 那请问一下,需要下载新的工具链或者改变什么配置吗



  • @kami 这个问题 应该是上周解决了的,如果还有问题的话再发一下新的日志。



  • This post is deleted!


  • This post is deleted!


  • 您好,这个问题解决了吗。。。