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! 

Parents
  • 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!

Reply
  • 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!

Children
No Data
Related