This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

uECC.h no such file or directory even after proper installation of microecc library

Hi, I have installed Software backend (micro-ecc) as given in: infocenter.nordicsemi.com/index.jsp

Compiled example: experimental/ble_app_multirole_lesc --> compilation is successful here.

Now i am want to include and use microecc library in my own example, I have modified my app sdk_config.h, made changes in makefile to include (added path in LIB_FILES ,SRC_FILES and INC_FOLDERS) micro_ecc files/libraries. However, I am getting the below error. Not sure what i am missing.


Compiling file: micro_ecc_lib_ecdh.c In file included from ../../../../../../components/libraries/crypto/backend/micro_ecc/micro_ecc_lib_ecdh.c:51:0: ../../../../../../components/libraries/crypto/backend/micro_ecc/micro_ecc_lib_shared.h:55:18: fatal error: uECC.h: No such file or directory #include "uECC.h" ^ compilation terminated. ../../../../../../components/toolchain/gcc/Makefile.common:134: recipe for target '_build/nrf52832_xxaa_micro_ecc_lib_ecdh.c.o' failed make: *** [_build/nrf52832_xxaa_micro_ecc_lib_ecdh.c.o] Error 1

I installed arm toolchain unlike the example given in the support pages: $ arm-none-eabi-gcc --version arm-none-eabi-gcc.exe (GNU Tools for ARM Embedded Processors 6-2017-q1-update) 6.3.1 20170215 (release) [ARM/embedded-6-branch revision 245512]

Thanks and Regards, Anjan

  • Update: I missed out on adding to include $(SDK_ROOT)/external/micro-ecc/micro-ecc \ Issue is solved now

  • Installing micro-ecc

    The cryptography library expects to find the compiled micro-ecc library in InstallFolder\external\micro-ecc\micro-ecc.

    To install micro-ecc, complete the following steps:

    1. Install version 4.9-2015-q3-update of the GCC compiler toolchain for ARM. You can use ARM's Launchpad to find the toolchain for your operating system.
    2. Make sure that make is installed (see, for example, MinGW, GNU Make, or Xcode).
    3. Clone the micro-ecc GitHub repository into InstallFolder\external\micro-ecc\micro-ecc.
    4. Enter the subdirectory for the SoC and the toolchain that you are using to build your application: InstallFolder\external\micro-ecc\nrf51_keil\armgcc InstallFolder\external\micro-ecc\nrf52_keil\armgcc InstallFolder\external\micro-ecc\nrf51_iar\armgcc InstallFolder\external\micro-ecc\nrf52_iar\armgcc InstallFolder\external\micro-ecc\nrf51_armgcc\armgcc InstallFolder\external\micro-ecc\nrf52_armgcc\armgcc
    5. Run make to compile the micro-ecc library.

    Click for more information

Related