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

Dead in the water - "Error starting process make"

Hi Folks,

Windows 10, clean install of ncs v1.2.0, using nRF5340-PDK with SES 4.42a.
Project blinky rebuilds and runs fine. 
Now I need a zephyr example of creating a simple library.   My library will be DSP related.  I desire that it can be easily included into multiple related projects on the nRF5340.   
So I found the following:   ncs/zephyr/samples/application_development/external_lib

It is a hello world example of a library target.

When I go to compile, I get the following output:

Rebuilding ‘C:/Users/sandbox/dev/ncs/zephyr/misc/empty_file.c’ from solution ‘build’ in configuration ‘Common’
Rebuilding ‘zephyr/include/generated/driver-validation.h’ from solution ‘build’ in configuration ‘Common’
1> Combining ‘zephyr/include/generated/driver-validation.h’
Rebuilding ‘zephyr/CMakeFiles/driver_validation_h_target’ from solution ‘build’ in configuration ‘Common’
Rebuilding ‘zephyr/driver_validation_h_target’ from solution ‘build’ in configuration ‘Common’
Rebuilding ‘zephyr/include/generated/kobj-types-enum.h’ from solution ‘build’ in configuration ‘Common’
1> Combining ‘zephyr/include/generated/kobj-types-enum.h’
Rebuilding ‘zephyr/include/generated/otype-to-str.h’ from solution ‘build’ in configuration ‘Common’
Rebuilding ‘zephyr/CMakeFiles/kobj_types_h_target’ from solution ‘build’ in configuration ‘Common’
Rebuilding ‘zephyr/kobj_types_h_target’ from solution ‘build’ in configuration ‘Common’
Rebuilding ‘C:/Users/sandbox/dev/ncs/zephyr/include/dt-bindings/gpio/gpio.h’ from solution ‘build’ in configuration ‘Common’
Rebuilding ‘C:/Users/sandbox/dev/ncs/zephyr/include/dt-bindings/i2c/i2c.h’ from solution ‘build’ in configuration ‘Common’
Rebuilding ‘zephyr/misc/generated/syscalls.json’ from solution ‘build’ in configuration ‘Common’
1> Combining ‘zephyr/misc/generated/syscalls.json’
Rebuilding ‘zephyr/include/generated/syscall_list.h’ from solution ‘build’ in configuration ‘Common’
1> Combining ‘zephyr/include/generated/syscall_list.h’
Rebuilding ‘zephyr/CMakeFiles/syscall_list_h_target’ from solution ‘build’ in configuration ‘Common’
Rebuilding ‘zephyr/include/generated/syscall_dispatch.c’ from solution ‘build’ in configuration ‘Common’
Rebuilding ‘zephyr/syscall_list_h_target’ from solution ‘build’ in configuration ‘Common’
Rebuilding ‘cmake_object_order_depends_target_offsets’ from solution ‘build’ in configuration ‘Common’
Rebuilding ‘zephyr/CMakeFiles/offsets.dir/arch/arm/core/offsets/offsets.c.obj’ from solution ‘build’ in configuration ‘Common’
1> Compiling ‘offsets.c’
Rebuilding ‘zephyr/offsets’ from solution ‘build’ in configuration ‘Common’
Rebuilding ‘zephyr/include/generated/offsets.h’ from solution ‘build’ in configuration ‘Common’
1> Combining ‘zephyr/include/generated/offsets.h’
Rebuilding ‘zephyr/CMakeFiles/offsets_h’ from solution ‘build’ in configuration ‘Common’
Rebuilding ‘zephyr/offsets_h’ from solution ‘build’ in configuration ‘Common’
Rebuilding ‘zephyr/zephyr_generated_headers’ from solution ‘build’ in configuration ‘Common’
Rebuilding ‘cmake_object_order_depends_target_..__modules__hal__nordic’ from solution ‘build’ in configuration ‘Common’
Rebuilding ‘cmake_object_order_depends_target_..__nrf__lib__fatal_error’ from solution ‘build’ in configuration ‘Common’
Rebuilding ‘mylib/src/mylib_project-stamp/mylib_project-mkdir’ from solution ‘build’ in configuration ‘Common’
1> Combining ‘mylib/src/mylib_project-stamp/mylib_project-mkdir’
Rebuilding ‘mylib/src/mylib_project-stamp/mylib_project-download’ from solution ‘build’ in configuration ‘Common’
1> Combining ‘mylib/src/mylib_project-stamp/mylib_project-download’
Rebuilding ‘mylib/src/mylib_project-stamp/mylib_project-update’ from solution ‘build’ in configuration ‘Common’
1> Combining ‘mylib/src/mylib_project-stamp/mylib_project-update’
Rebuilding ‘mylib/src/mylib_project-stamp/mylib_project-patch’ from solution ‘build’ in configuration ‘Common’
1> Combining ‘mylib/src/mylib_project-stamp/mylib_project-patch’
Rebuilding ‘mylib/src/mylib_project-stamp/mylib_project-configure’ from solution ‘build’ in configuration ‘Common’
1> Combining ‘mylib/src/mylib_project-stamp/mylib_project-configure’
Rebuilding ‘mylib/src/mylib_project-stamp/mylib_project-build’ from solution ‘build’ in configuration ‘Common’
1> Combining ‘mylib/src/mylib_project-stamp/mylib_project-build’
1> Error starting process make
Build failed

Is there anyway to get more info on what failed so I can proceed on my mission....or alternatively, is there a another example of creating a simple library that will work instead?

Kind regards! 

  • I dug into the CMakeLists.txt  for this project and found that the library is being built using make, however make is not a prerequisite in the ncs  Getting Started install.    In fact I am running a completely fresh copy of Windows, with no external tools at all, except nRF recommended tools...therefore I did not have make.    I recommend that for Windows, nRF Connect Getting Started Assistant be modified with a step to install make (in an admin cmd.exe prompt):

    choco install make 

    This moved the ball a little further down the court,   Now SES chokes on a Linux flavor command "mkdir -p" which is not supported in Windows. 

    mkdir -p C:/Users/sandbox/dev/ncs/zephyr/samples/application_development/external_lib/build_nrf5340_dk_nrf5340_cpuapp/mylib/obj C:/Users/sandbox/dev/ncs/zephyr/samples/application_development/external_lib/build_nrf5340_dk_nrf5340_cpuapp/mylib/lib
    The syntax of the command is incorrect
    make: *** [Makefile:12: all] Error 1

    But...since I have git installed, git bash is closer to Linux, and I can try that.  So I launched a git bash prompt, where it understands "mkdir -p", and I was able to successfully build the sample using west.  Whew! 

    I would really like to be able to build within SES though, since the library will be built and maintained by others who are less familiar with command line methods.  So I think I will rewrite the makefile so that it will work moving forward.

    One thing that I see missing is the library source file names populated inside SES.  I don't know how to do that.   Currently only the main.c caller is listed in the Project items, and not the library source, which is also built by the system.   It seems like the library example was not thought out well from the point of view of needing to create and debug a library instead of just using it.  For example, when I debug down into the library, I get prompted to locate the source code of the library, instead of SES already knowing where to find it (as it would if it were part of the project).  This is an example of a mundane little thing that is so aggravating.

    Best case someone can show me how to add the library source file mylib.c into SES.   My SES has "Add Existing File..." grayed out., and I don't know where to place it if it wasn't grayed out Slight smile

    Thanks!

  • Hi, 

    How did you build the project?

    With west, you could run as:
    C:\ncs\zephyr\samples\application_development\external_lib>west build -b nrf5340_dk_nrf5340_cpuapp

    With Segger, you should set as:

    I can build the project with these two methods. Could you try again?

    -Amanda H.

  • Hi Amanda,

    Yes, I tried building with both those routes, but they both failed.   In order to succeed, make and mkdir need to be installed and found during the build.   Did I miss a step during tools setup?   The install was done on a completely new Windows copy, and I believe I properly followed the instructions in ncs Getting Starrted.

  • Hi Amanda,

    I reinstalled Windows 10 and reinstalled ncs from scratch again.  Same result.   So I did not forget a step.  This is an install and tools issue.  The workaround is available as I wrote above (install make, and run west from bash).   I still would like to know how to add  library source files to the external_lib project so a library can be easily developed within SES.

  • Hi, 

    navigator said:
    I reinstalled Windows 10 and reinstalled ncs from scratch again.  Same result.

    Could you provide the complete log while the build fails? (from segger or include the command if you use the west build. ) Please also check with Installing the NCS manually and Building and programming a sample application.

    navigator said:
     I still would like to know how to add  library source files to the external_lib project so a library can be easily developed within SES.

    What library would you want to add to the external_lib project? This post shows how to add the LPCOMP library into the project. 

    -Amanda H.

Related