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

thing52 SDK compiling with GCC in Ubuntu

I am trying to compile firmware with GCC in ubuntu. The GNU directory is in C:\Program Files (x86)\GNU Tools ARM Embedded\4.9 2015q3. I changed Makefile.posix to make sure that the GNU_INSTALL_ROOT variable points to my GNU Tools for ARM Embedded Processors directory. But I still got compiling error. Any help is appreciated.

 

d:\Nordic Thingy52\Nordic-Thingy52-FW-master\project\pca20020_s132\armgcc>make -j
make: *** No rule to make target `_build/Nordic', needed by `nrf52832_xxaa_s132'. Stop.

  • Hi,

    Did you run the setup_sdk.sh file in the repo? 

    regards

    Jared 

  • log1:

    frankie@Lenovo-Frankie:/mnt/d/Nordic Thingy52/thingysdkv210$ ./setup_sdk.sh

    micro-ecc not found! Let's pull it from HEAD.
    Cloning into 'external/sdk13/external/micro-ecc/micro-ecc'...
    remote: Enumerating objects: 48, done.
    remote: Counting objects: 100% (48/48), done.
    remote: Compressing objects: 100% (37/37), done.
    remote: Total 1143 (delta 21), reused 28 (delta 9), pack-reused 1095
    Receiving objects: 100% (1143/1143), 687.07 KiB | 1010.00 KiB/s, done.
    Resolving deltas: 100% (664/664), done.
    /mnt/d/Nordic Thingy52/thingysdkv210/external/sdk13/external/micro-ecc/nrf52_armgcc/armgcc /mnt/d/Nordic Thingy52/thingysdkv210
    /bin/sh: 1: /usr/local/gcc-arm-none-eabi-4_9-2015q3/bin/arm-none-eabi-gcc: not found
    Cannot find: "/usr/local/gcc-arm-none-eabi-4_9-2015q3/bin/arm-none-eabi-gcc".
    Please set values in: "/mnt/d/Nordic Thingy52/thingysdkv210/external/sdk13/components/toolchain/gcc/Makefile.posix"
    according to the actual configuration of your system.
    ../../../../components/toolchain/gcc/Makefile.common:25: *** Cannot continue. Stop.

    log2:

    franklie@Lenovo-Frankie:/mnt/d/Nordic Thingy52/thingysdkv210$ ./setup_sdk.sh
    /mnt/d/Nordic Thingy52/thingysdkv210/external/sdk13/external/micro-ecc/nrf52_armgcc/armgcc /mnt/d/Nordic Thingy52/thingysdkv210
    mkdir _build
    Compiling file: uECC.c
    Creating library: ../../nrf52_armgcc/armgcc/micro_ecc_lib_nrf52.a
    /usr/bin/arm-none-eabi-ar: creating ../../nrf52_armgcc/armgcc/micro_ecc_lib_nrf52.a
    Done
    /mnt/d/Nordic Thingy52/thingysdkv210
    /mnt/d/Nordic Thingy52/thingysdkv210/external/sdk13/external/micro-ecc/nrf52_keil/armgcc /mnt/d/Nordic Thingy52/thingysdkv210
    mkdir _build
    Compiling file: uECC.c
    Creating library: ../../nrf52_keil/armgcc/micro_ecc_lib_nrf52.lib
    /usr/bin/arm-none-eabi-ar: creating ../../nrf52_keil/armgcc/micro_ecc_lib_nrf52.lib
    Done
    /mnt/d/Nordic Thingy52/thingysdkv210

    log3:

    frankie@Lenovo-Frankie:/mnt/d/Nordic Thingy52/thingysdkv210/project/pca20020_s132/armgcc$ make -j
    rm -rf _build
    echo Makefile
    Makefile
    make: *** No rule to make target '_build/Nordic', needed by 'nrf52832_xxaa_s132'. Stop.
    make: *** Waiting for unfinished jobs....
    mkdir _build

  • Hi,

    Could you type the following and verify that the path to the GNU ARM toolchain is set correctly:

    arm-none-eabi-gcc --version
    

    It will return the version of the compiler if the executable is found.

    Could you also try to remove any whitespaces from your path and replace it with for example an underscore? Nordic Thingy52\.. -> Nordic_Thingy52\..

    regards
    Jared 

  • I have the same error message and solved it.

    My error message:

    user@linux7:/sdk/external/micro-ecc/nrf52hf_keil/armgcc$ make
    make: /usr/local/gcc-arm-none-eabi-7-2018-q2-update/bin/arm-none-eabi-gcc: Command not found
    Cannot find: '/usr/local/gcc-arm-none-eabi-7-2018-q2-update/bin/arm-none-eabi-gcc'.
    Please set values in: "/home/user/Downloads/software/nRF5_SDK/nRF5_SDK_16.0.0_98a08e2/components/toolchain/gcc/Makefile.posix"
    according to the actual configuration of your system.
    ../../../../components/toolchain/gcc/Makefile.common:129: *** Cannot continue. Stop.


    Make a backup:
    cp -p /home/user/Downloads/software/nRF5_SDK/nRF5_SDK_16.0.0_98a08e2/components/toolchain/gcc/Makefile.posix /home/user/Downloads/software/nRF5_SDK/nRF5_SDK_16.0.0_98a08e2/components/toolchain/gcc/Makefile.posix.backup


    Take a look at the file:
    cat /home/user/Downloads/software/nRF5_SDK/nRF5_SDK_16.0.0_98a08e2/components/toolchain/gcc/Makefile.posix
    GNU_INSTALL_ROOT ?= /usr/local/gcc-arm-none-eabi-7-2018-q2-update/bin/
    GNU_VERSION ?= 7.3.1
    GNU_PREFIX ?= arm-none-eabi


    Checked the version (thanks Jared):
    arm-none-eabi-gcc --version
    arm-none-eabi-gcc (15:6.3.1+svn253039-1build1) 6.3.1 20170620


    Checked location of executable:
    which arm-none-eabi-gcc
    /usr/bin/arm-none-eabi-gcc


    Update Makefile.posix:
    cat /home/user/Downloads/software/nRF5_SDK/nRF5_SDK_16.0.0_98a08e2/components/toolchain/gcc/Makefile.posix
    GNU_INSTALL_ROOT ?= /usr/bin/
    GNU_VERSION ?= 6.3.1
    GNU_PREFIX ?= arm-none-eabi


    Make:
    user@linux7:/sdk/external/micro-ecc/nrf52nf_armgcc/armgcc$ make
    mkdir _build
    cd _build && mkdir micro_ecc_lib
    Compiling file: uECC.c
    Creating library: ../../nrf52nf_armgcc/armgcc/micro_ecc_lib_nrf52.a
    /usr/bin/arm-none-eabi-ar: creating ../../nrf52nf_armgcc/armgcc/micro_ecc_lib_nrf52.a
    Done
    

Related