Hi

When compiling with IAR bxarm 9.7.1 i get the following linker errors:

 

cmake -S . -B cmake_build -DTFM_PLATFORM=arm/mps2/an521 -DTFM_TOOLCHAIN_FILE=toolchain_IARARM.cmake

cmake --build cmake_build -- install

 

[25/31] Linking C executable bin/tfm_s.axf

Warning[Li065]: duplicate file: "/home/ubuntu/import/source/trusted-firmware-m/

          cmake_build/platform/libplatform_s.a"

Warning[Li065]: duplicate file: "/home/ubuntu/import/source/trusted-firmware-m/

          cmake_build/secure_fw/partitions/lib/runtime/libtfm_sprt.a"

Warning[Li065]: duplicate file: "/home/ubuntu/import/source/trusted-firmware-m/

          cmake_build/secure_fw/spm/libtfm_spm.a"

 

In the build.ninja file you can see that all those libraries are includes twice. 

  LINK_LIBRARIES = platform/libplatform_s.a  secure_fw/partitions/lib/runtime/libtfm_sprt.a  secure_fw/spm/libtfm_spm.a  secure_fw/partitions/internal_trusted_storage/libtfm_psa_rot_partition_its.a  secure_fw/partitions/platform/libtfm_psa_rot_partition_platform.a  platform/libplatform_s.a  secure_fw/partitions/lib/runtime/libtfm_sprt.a  secure_fw/spm/libtfm_spm.a  secure_fw/partitions/internal_trusted_storage/libtfm_psa_rot_partition_its.a  secure_fw/partitions/platform/libtfm_psa_rot_partition_platform.a

 

 

Is there a reason this is not resolved or this just the way Cmake works?
Is there an easy way to resolve this on the platform level?

I used the an521 as a template to create my platform.

 

In my platform this list grows with every feature I activate:

 

Warning[Li065]: duplicate file: "/home/source/trusted-firmware-m/cmake_buil

          d/platform/libplatform_s.a"

Warning[Li065]: duplicate file: "/home/source/trusted-firmware-m/cmake_buil

          d/secure_fw/partitions/lib/runtime/libtfm_sprt.a"

Warning[Li065]: duplicate file: "/home/source/trusted-firmware-m/cmake_buil

          d/secure_fw/spm/libtfm_spm.a"

Warning[Li065]: duplicate file: "/home/source/trusted-firmware-m/cmake_buil

          d/platform/libplatform_crypto_keys.a"

Warning[Li065]: duplicate file: "/home/source/trusted-firmware-m/cmake_buil

          d/secure_fw/partitions/crypto/mbedcrypto/library/libmbedcrypto.a"

Warning[Li065]: duplicate file: "/home/source/trusted-firmware-m/cmake_buil

          d/secure_fw/partitions/crypto/libtfm_psa_rot_partition_crypto.a"

Warning[Li065]: duplicate file: "/home/source/trusted-firmware-m/cmake_buil

          d/secure_fw/partitions/internal_trusted_storage/libtfm_psa_rot_partit

          ion_its.a"

Warning[Li065]: duplicate file: "/home/source/trusted-firmware-m/cmake_buil

          d/secure_fw/partitions/platform/libtfm_psa_rot_partition_platform.a"

Warning[Li065]: duplicate file: "/home/source/trusted-firmware-m/cmake_buil

          d/secure_fw/partitions/firmware_update/libtfm_psa_rot_partition_fwu.a

          "

Warning[Li065]: duplicate file: "/home/source/trusted-firmware-m/cmake_buil

          d/secure_fw/partitions/lib/runtime/libtfm_sp_log.a"

Warning[Li065]: duplicate file: "/home/source/trusted-firmware-m/cmake_buil

          d/platform/libplatform_s.a"

Warning[Li065]: duplicate file: "/home/source/trusted-firmware-m/cmake_buil

          d/secure_fw/partitions/lib/runtime/libtfm_sprt.a"

Warning[Li065]: duplicate file: "/home/source/trusted-firmware-m/cmake_buil

          d/secure_fw/spm/libtfm_spm.a"

Warning[Li065]: duplicate file: "/home/source/trusted-firmware-m/cmake_buil

          d/platform/libplatform_crypto_keys.a"

Warning[Li065]: duplicate file: "/home/source/trusted-firmware-m/cmake_buil

          d/secure_fw/partitions/crypto/mbedcrypto/library/libmbedcrypto.a"

Warning[Li065]: duplicate file: "/home/source/trusted-firmware-m/cmake_buil

          d/secure_fw/partitions/crypto/libtfm_psa_rot_partition_crypto.a"

Warning[Li065]: duplicate file: "/home/source/trusted-firmware-m/cmake_buil

          d/secure_fw/partitions/internal_trusted_storage/libtfm_psa_rot_partit

          ion_its.a"

Warning[Li065]: duplicate file: "/home/source/trusted-firmware-m/cmake_buil

          d/secure_fw/partitions/platform/libtfm_psa_rot_partition_platform.a"

Warning[Li065]: duplicate file: "/home/source/trusted-firmware-m/cmake_buil

          d/secure_fw/partitions/firmware_update/libtfm_psa_rot_partition_fwu.a

          "

Warning[Li065]: duplicate file: "/home/source/trusted-firmware-m/cmake_buil

          d/secure_fw/partitions/lib/runtime/libtfm_sp_log.a"

 

If possible, I want to build without warnings.

 

 

Thanks for your help

 

Kind regards,
Nico