This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM6442: top level make uboot fail with SDK9.0.0.3

Part Number: AM6442


Today I installed sdk9.0.0.3, then I use "make u-boot" command to build uboot  on top level folder failed.

HOSTCC tools/mkimage.o
HOSTCC tools/fit_info.o
HOSTCC tools/fit_check_sign.o
HOSTCC tools/proftool.o
WRAP tools/lib/abuf.c
HOSTCC tools/fdtgrep.o
In file included from tools/lib/ecdsa/ecdsa-libcrypto.c:1:
/data/ti-processor-sdk-linux-rt-am64xx-evm-09.00.00.03/board-support/ti-u-boot/tools/../lib/ecdsa/ecdsa-libcrypto.c: In function ‘do_add’:
/data/ti-processor-sdk-linux-rt-am64xx-evm-09.00.00.03/board-support/ti-u-boot/tools/../lib/ecdsa/ecdsa-libcrypto.c:290:2: warning: implicit declaration of function ‘EC_POINT_get_affine_coordinates’; did you mean ‘EC_POINT_get_affine_coordinates_GFp’? [-Wimplicit-function-declaration]
290 | EC_POINT_get_affine_coordinates(group, point, x, y, NULL);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| EC_POINT_get_affine_coordinates_GFp
HOSTCC tools/spl_size_limit
HOSTCC tools/lib/crc8.o
HOSTLD tools/mkenvimage
HOSTCC tools/lib/abuf.o
HOSTLD tools/gen_ethaddr_crc
HOSTLD tools/fdtgrep
HOSTLD tools/proftool
HOSTLD tools/dumpimage
HOSTLD tools/mkimage
HOSTLD tools/fit_info
HOSTLD tools/fit_check_sign
/usr/bin/ld: tools/kwbimage.o: in function `kwb_verify':
kwbimage.c:(.text+0x696): undefined reference to `EVP_PKEY_size'
/usr/bin/ld: tools/kwbimage.o: in function `kwb_sign_and_verify':
kwbimage.c:(.text+0x875): undefined reference to `EVP_PKEY_size'
/usr/bin/ld: tools/lib/ecdsa/ecdsa-libcrypto.o: in function `prepare_ctx':
ecdsa-libcrypto.c:(.text+0x12d): undefined reference to `EVP_PKEY_id'
/usr/bin/ld: tools/lib/rsa/rsa-sign.o: in function `rsa_sign':
rsa-sign.c:(.text+0x5d1): undefined reference to `EVP_PKEY_size'
collect2: error: ld returned 1 exit status
make[3]: *** [scripts/Makefile.host:104: tools/dumpimage] Error 1
make[3]: *** Waiting for unfinished jobs....
/usr/bin/ld: tools/kwbimage.o: in function `kwb_verify':
kwbimage.c:(.text+0x696): undefined reference to `EVP_PKEY_size'
/usr/bin/ld: tools/kwbimage.o: in function `kwb_sign_and_verify':
kwbimage.c:(.text+0x875): undefined reference to `EVP_PKEY_size'
/usr/bin/ld: tools/lib/ecdsa/ecdsa-libcrypto.o: in function `prepare_ctx':
ecdsa-libcrypto.c:(.text+0x12d): undefined reference to `EVP_PKEY_id'
/usr/bin/ld: tools/lib/rsa/rsa-sign.o: in function `rsa_sign':
rsa-sign.c:(.text+0x5d1): undefined reference to `EVP_PKEY_size'
//usr/usrbin//binld/:ld :tools /toolskwbimage.o/:kwbimage.o :in infunction function` kwb_verify`'kwb_verify:'
:kwbimage.c
:kwbimage.c(:.(text.+text0x696+)0x696:) :undefined undefinedreference referenceto to` EVP_PKEY_size`'EVP_PKEY_size
'/
usr//usrbin//binld/:ld :tools /toolskwbimage.o/:kwbimage.o :in infunction function` kwb_sign_and_verify`'kwb_sign_and_verify:'
:kwbimage.c
:kwbimage.c(:.(text.+text0x875+)0x875:) :undefined undefinedreference referenceto to` EVP_PKEY_size`'EVP_PKEY_size
'/
usr//usrbin//binld/:ld :tools /toolslib//libecdsa//ecdsaecdsa/-ecdsalibcrypto.o-:libcrypto.o :in infunction function `prepare_ctx':
`ecdsaprepare_ctx-'libcrypto.c::
(ecdsa.-textlibcrypto.c+:0x12d().:text +undefined0x12d )reference: toundefined `referenceEVP_PKEY_id 'to
/`usrEVP_PKEY_id/'bin
//ldusr:/ bintools//ldlib:/ rsatools//rsalib-/sign.orsa:/ rsain- sign.ofunction `:rsa_sign 'in:
functionrsa -`sign.crsa_sign:'(:.
textrsa+-0x5d1sign.c)::( .undefinedtext +reference0x5d1 )to: `undefinedEVP_PKEY_size 'reference
to `EVP_PKEY_size'
collect2: error: ld returned 1 exit status
collect2: error: ld returned 1 exit status
make[3]: *** [scripts/Makefile.host:104: tools/mkimage] Error 1
collect2: error: ld returned 1 exit status
make[3]: *** [scripts/Makefile.host:104: tools/fit_check_sign] Error 1
make[3]: *** [scripts/Makefile.host:104: tools/fit_info] Error 1
make[2]: *** [/data/ti-processor-sdk-linux-rt-am64xx-evm-09.00.00.03/board-support/ti-u-boot/Makefile:1847: tools] Error 2
make[2]: Leaving directory '/data/ti-processor-sdk-linux-rt-am64xx-evm-09.00.00.03/board-support/u-boot-build/r5'
make[1]: *** [Makefile:177: sub-make] Error 2
make[1]: Leaving directory '/data/ti-processor-sdk-linux-rt-am64xx-evm-09.00.00.03/board-support/ti-u-boot'
make: *** [makerules/Makefile_u-boot:30: u-boot-r5] Error 2

  • Hi,

    9.0 SDK has not been released yet.

    ~ Judith

  • Judith,

    SDK9 is released on July 17 on web already.

  • HI,

    I see, will test and update here soon.
    ~Judith

  • Hi Tony,

    I have verified AM64x Processor SDK building u-boot from top-level Makefile works.

    ===================================
    Building U-boot for R5
    ===================================
    mkdir -p <path-to-psdk>/AM64x/09.00.00.03/board-support/u-boot-build/r5
    make -j 20 -C <path-to-psdk>/AM64x/09.00.00.03/board-support/ti-u-boot ARCH=arm am64x_evm_r5_defconfig O=<path-to-psdk>/AM64x/09.00.00.03/board-support/u-boot-build/r5
    make[1]: Entering directory '<path-to-psdk>/AM64x/09.00.00.03/board-support/ti-u-boot'
    make[2]: Entering directory '<path-to-psdk>/AM64x/09.00.00.03/board-support/u-boot-build/r5'
      GEN     Makefile
    #
    # configuration written to .config
    #
    make[2]: Leaving directory '<path-to-psdk>/AM64x/09.00.00.03/board-support/u-boot-build/r5'
    make[1]: Leaving directory '<path-to-psdk>/AM64x/09.00.00.03/board-support/ti-u-boot'
    make -j 20 -C <path-to-psdk>/AM64x/09.00.00.03/board-support/ti-u-boot ARCH=arm CROSS_COMPILE=<path-to-psdk>/AM64x/09.00.00.03/external-toolchain-dir/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf- \
    	BINMAN_INDIRS=<path-to-psdk>/AM64x/09.00.00.03/board-support/prebuilt-images/am64xx-evm  O=<path-to-psdk>/AM64x/09.00.00.03/board-support/u-boot-build/r5
    make[1]: Entering directory '<path-to-psdk>/AM64x/09.00.00.03/board-support/ti-u-boot'
    make[2]: Entering directory '<path-to-psdk>/AM64x/09.00.00.03/board-support/u-boot-build/r5'
      GEN     Makefile
    scripts/kconfig/conf  --syncconfig Kconfig
      CFG     u-boot.cfg
      GEN     include/autoconf.mk.dep
      CFG     spl/u-boot.cfg
      GEN     include/autoconf.mk
      GEN     spl/include/autoconf.mk
      GEN     Makefile
      ENVC    include/generated/env.txt
      UPD     include/generated/timestamp_autogenerated.h
      ENVP    include/generated/env.in
      ENVT    include/generated/environment.h
      Using <path-to-psdk>/AM64x/09.00.00.03/board-support/ti-u-boot as source for U-Boot
      CC      cmd/version.o
      CC      env/common.o
      AR      cmd/built-in.o
      CC      lib/efi_loader/dtbdump.o
      CC      lib/efi_loader/initrddump.o
      AR      env/built-in.o
      LD      lib/efi_loader/initrddump_efi.so
      OBJCOPY lib/efi_loader/initrddump.efi
      LD      lib/efi_loader/dtbdump_efi.so
      OBJCOPY lib/efi_loader/dtbdump.efi
      LD      u-boot
      OBJCOPY u-boot.srec
      OBJCOPY u-boot-nodtb.bin
      SYM     u-boot.sym
      CAT     u-boot-dtb.bin
      MKIMAGE u-boot.img
      MKIMAGE u-boot-dtb.img
      COPY    u-boot.bin
      FDTGREP spl/dts/k3-am642-r5-evm.dtb
      FDTGREP spl/dts/k3-am642-r5-sk.dtb
      MKIMAGE spl/u-boot-spl.multidtb.fit
      CC      spl/env/common.o
      CC      spl/common/spl/spl.o
      AR      spl/env/built-in.o
      AR      spl/common/spl/built-in.o
      LD      spl/u-boot-spl
      OBJCOPY spl/u-boot-spl-nodtb.bin
      SYM     spl/u-boot-spl.sym
      CAT     spl/u-boot-spl-dtb.bin
      COPY    spl/u-boot-spl.bin
      BINMAN  .binman_stamp
      OFCHK   .config
    make[2]: Leaving directory '<path-to-psdk>/AM64x/09.00.00.03/board-support/u-boot-build/r5'
    make[1]: Leaving directory '<path-to-psdk>/AM64x/09.00.00.03/board-support/ti-u-boot'
    ===================================
    Building U-boot for A53
    ===================================
    mkdir -p <path-to-psdk>/AM64x/09.00.00.03/board-support/u-boot-build/a53
    make -j 20 -C <path-to-psdk>/AM64x/09.00.00.03/board-support/ti-u-boot ARCH=arm am64x_evm_a53_defconfig O=<path-to-psdk>/AM64x/09.00.00.03/board-support/u-boot-build/a53
    make[1]: Entering directory '<path-to-psdk>/AM64x/09.00.00.03/board-support/ti-u-boot'
    make[2]: Entering directory '<path-to-psdk>/AM64x/09.00.00.03/board-support/u-boot-build/a53'
      GEN     Makefile
    #
    # configuration written to .config
    #
    make[2]: Leaving directory '<path-to-psdk>/AM64x/09.00.00.03/board-support/u-boot-build/a53'
    make[1]: Leaving directory '<path-to-psdk>/AM64x/09.00.00.03/board-support/ti-u-boot'
    make -j 20 -C <path-to-psdk>/AM64x/09.00.00.03/board-support/ti-u-boot ARCH=arm CROSS_COMPILE=<path-to-psdk>/AM64x/09.00.00.03/external-toolchain-dir/arm-gnu-toolchain-11.3.rel1-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu- \
    	BINMAN_INDIRS=<path-to-psdk>/AM64x/09.00.00.03/board-support/prebuilt-images/am64xx-evm BL31=<path-to-psdk>/AM64x/09.00.00.03/board-support/prebuilt-images/am64xx-evm/bl31.bin TEE=<path-to-psdk>/AM64x/09.00.00.03/board-support/prebuilt-images/am64xx-evm/bl32.bin O=<path-to-psdk>/AM64x/09.00.00.03/board-support/u-boot-build/a53
    make[1]: Entering directory '<path-to-psdk>/AM64x/09.00.00.03/board-support/ti-u-boot'
    make[2]: Entering directory '<path-to-psdk>/AM64x/09.00.00.03/board-support/u-boot-build/a53'
      GEN     Makefile
    scripts/kconfig/conf  --syncconfig Kconfig
      CFG     u-boot.cfg
      GEN     include/autoconf.mk.dep
      CFG     spl/u-boot.cfg
      GEN     include/autoconf.mk
      GEN     spl/include/autoconf.mk
      GEN     Makefile
      ENVC    include/generated/env.txt
      UPD     include/generated/timestamp_autogenerated.h
      ENVP    include/generated/env.in
      ENVT    include/generated/environment.h
      Using <path-to-psdk>/AM64x/09.00.00.03/board-support/ti-u-boot as source for U-Boot
      CC      cmd/version.o
      CC      env/common.o
      AR      cmd/built-in.o
      CC      lib/efi_loader/dtbdump.o
      CC      lib/efi_loader/initrddump.o
      AR      env/built-in.o
      LD      lib/efi_loader/initrddump_efi.so
      OBJCOPY lib/efi_loader/initrddump.efi
      LD      lib/efi_loader/dtbdump_efi.so
      OBJCOPY lib/efi_loader/dtbdump.efi
      LD      u-boot
      OBJCOPY u-boot.srec
      OBJCOPY u-boot-nodtb.bin
      SYM     u-boot.sym
      RELOC   u-boot-nodtb.bin
      CAT     u-boot-fit-dtb.bin
      MKIMAGE u-boot.img
      MKIMAGE u-boot-dtb.img
      COPY    u-boot.bin
      FDTGREP spl/dts/k3-am642-evm.dtb
      FDTGREP spl/dts/k3-am642-sk.dtb
      MKIMAGE spl/u-boot-spl.multidtb.fit
      CC      spl/env/common.o
      CC      spl/common/spl/spl.o
      AR      spl/common/spl/built-in.o
      AR      spl/env/built-in.o
      LD      spl/u-boot-spl
      OBJCOPY spl/u-boot-spl-nodtb.bin
      SYM     spl/u-boot-spl.sym
      CAT     spl/u-boot-spl-dtb.bin
      COPY    spl/u-boot-spl.bin
      BINMAN  .binman_stamp
      OFCHK   .config
    make[2]: Leaving directory '<path-to-psdk>/AM64x/09.00.00.03/board-support/u-boot-build/a53'
    make[1]: Leaving directory '<path-to-psdk>/AM64x/09.00.00.03/board-support/ti-u-boot'
    


    Can you please verify you have all the dependencies for the SDK.

    You will find the dependencies here: https://software-dl.ti.com/processor-sdk-linux/esd/AM64X/08_06_00_42/exports/docs/linux/Overview_Building_the_SDK.html

    But also when you are installing the SDK, the setup wizard should let you know if you are missing any dependencies, please look-out for this.

    ~ Judith

  • Hi,

    I know why there is a compilation error. 
    The ubuntu version I used before was 22.04. SDK9.0.0.3 seems to be unable to run on ubuntu22.04.
    When I return to ubuntu18.04, I can compile normally.