New ModusToolBox install. Build of a previous project yields => "Error: Program "make" not found in PATH"

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Len_CONSULTRON
Level 9
Level 9
Beta tester 500 solutions authored 1000 replies posted

I needed to perform an install on a new computer of ModusToolBox 2.1.   I installed with the default settings.

I imported a project from another computer that had successfully compiled in ModusToolBox 2.1.

When I tried to 'Build' this project I immediately get:

11:43:11 **** Build of configuration Default for project USB_Audio_Recorder ****

make all

Cannot run program "make": Launching failed

Error: Program "make" not found in PATH

PATH=

11:43:11 Build Failed. 1 errors, 0 warnings. (took 101ms)

The PATH= appears correct on my system.

Here's a snip of my directory of my install directory for ModusToolBox.

pastedImage_0.png

I'm dead in the water until this can be addressed.

Len

Len
"Engineering is an Art. The Art of Compromise."
0 Likes
1 Solution

Hello Len,

When any application is created in ModusToolbox, the various options for build, clean, launch configurations, environment variables are all set by default. I'm not sure how the particular application in question ended up with the wrong settings, perhaps you were modifying something?

I wasn't able to reproduce the issue through the recommended way to import the application that I mentioned in the earlier response. So, importing the application through the steps I mentioned earlier itself can be a solution to this problem.

If I try the following: File > Import > Existing Projects into Workspace > Select Root Directory > Browse to your application > Finish. This imports your application with all your modified project settings and properties. Using this method I was able to reproduce your issue and have a look at your project settings.

I think I have found the solution to why it is not able to build, but you might still face problems with the compilation because the build flow has been tampered with. Here are the steps:

(1) Right click on the project > Properties > C/C++ Build > Environment. Use the Add option to add an environment variable PATH and check the box that reads "Add to all configurations" as shown below:

pastedImage_5.png

(2) Click OK. The environment PATH variable values gets added to the project.

(3) Click Edit on the PATH variable and add the path to the Cygwin.bat directory (C:\Users\<user>\ModusToolbox\tools_2.1\modus-shell\bin). Don't forget to add the semi-colon after adding the value.

pastedImage_7.png

(4) Click Apply and then Apply and Close to save the settings.

You should now be able to proceed with building the application. If the build fails, I would recommend importing the application like I mentioned previously.

Regards,

Dheeraj

View solution in original post

13 Replies
DheerajK_81
Moderator
Moderator
Moderator
First comment on KBA First comment on blog 5 questions asked

From the screenshots, I observe that the state of the folder is Shared. Please check if the user you have logged in as has the required access to this installation folder. You can probably try running ModusToolbox as Administrator and see if it works then.

Let me know your observations.

Regards,
Dheeraj

0 Likes

Dheeraj,

Running ModusToolBox 2.1 as Administrator provides the same result:

Error: Program "make" not found in PATH

No change.

Len

Len
"Engineering is an Art. The Art of Compromise."
0 Likes

Dheeraj,

I have more information.

Running in either Adminstrator mode or not, ALL the other projects in the same workspace BUILDs correctly except for the project --

USB_Audio_Recorder.

pastedImage_0.png

I think it is valuable to find the source of the inability to BUILD this project.  It would help others who might find themselves in the same predicament.  Let me know what else to investigate.

Len

Len
"Engineering is an Art. The Art of Compromise."
0 Likes

Just tried creating that application in ModusToolbox and building it. Everything worked fine.

pastedImage_0.png

Something seems to have broken when you imported probably? Please attach the project so that I debug it further.

Also, please try creating a new application of USB Audio Recorder and checking if everything works fine.

Regards,
Dheeraj

0 Likes

Dheeraj,

Thanks for looking at this project.  As I indicated I transferred this project (as well as the others in the workspace) from a working build on another computer.  This is the only project that doesn't build.  I'm not aware why this project is the exception.

I believe finding the issue may help others in the future.

Attached is the very large file of the project.

Len

Len
"Engineering is an Art. The Art of Compromise."
0 Likes

Dheeraj,

Here's some further information.

Here is a snip of the Property/"C/C++ General" for the USB_Audio_Recorder

pastedImage_1.png

Another "BUILDing" project has the following Property/"C/C++ General":

pastedImage_3.png

Removing the "Use default build command" and inserting Build command: ${cy_tools_path:modus-shell}/bin/make CY_MAKE_IDE=eclipse CY_IDE_TOOLS_DIR=${cy_tools_path:} -j8  from USB_Audio_Recorder does not solve the issue.  However I do receive a different error:

16:15:53 **** Incremental Build of configuration Default for project USB_Audio_Recorder ****

"C:\\Users\\lpoma\\ModusToolbox\\tools_2.1\\modus-shell\\bin\\make" CY_MAKE_IDE=eclipse CY_IDE_TOOLS_DIR=C:/Users/lpoma/ModusToolbox/tools_2.1 -j8 all

Tools Directory: C:/Users/lpoma/ModusToolbox/tools_2.1

/bin/bash: which: command not found

/bin/bash: whereis: command not found

make: *** [libs/psoc6make/make/core/prebuild.mk:224: CY_PREBUILD_mkdirs] Error 127

"C:/Users/lpoma/ModusToolbox/tools_2.1/modus-shell/bin/make CY_MAKE_IDE=eclipse CY_IDE_TOOLS_DIR=C:/Users/lpoma/ModusToolbox/tools_2.1 -j8 all" terminated with exit code 2. Build might be incomplete.

16:15:54 Build Failed. 3 errors, 0 warnings. (took 746ms)

Len

Len
"Engineering is an Art. The Art of Compromise."
0 Likes

Dheeraj,

I downloaded the new USB_Audio_Recorder project.  This new project did build without issue.

I've compared the old project to the new project.  There are a lot of differences.  Is there a file you want me to look at that might be the reason for this issue?

Len

Len
"Engineering is an Art. The Art of Compromise."
0 Likes

Hello Len,

I imported the project attached into ModusToolbox by using File > Import > Other > ModusToolbox Application Import. I have illustrated the steps just in case you did something different.

pastedImage_0.pngpastedImage_2.png

After this click Finish and the application will be imported into your workspace. I was able to build successfully without any modifications. I am not able to recreate the issue. Also note that since all the .libs point to the latest version of the library, I may not be able to observe the error in case the issue was because of a particular version of the library.

make: *** [libs/psoc6make/make/core/prebuild.mk:224: CY_PREBUILD_mkdirs] Error 127

One of the things I did observe was that this above line in the error you posted. This particular line tries to create the build directory and it failed to do so. There seems to be some restrictions on the application folder that might be affecting this project alone.

Please check the permissions on this application folder to see if you have all access enabled. Let me know your observations.

Regards,

Dheeraj

0 Likes

Dheeraj,

I've checked my project directory.   It is in my "Documents" under my user name.  I have permission for this.  I also 'forced' ALL files in the project directory be 'Write' capable.

I get the same response.

make: *** [libs/psoc6make/make/core/prebuild.mk:224: CY_PREBUILD_mkdirs] Error 127

Len

Len
"Engineering is an Art. The Art of Compromise."
0 Likes

Hello Len,

Please navigate to ModusToolbox installation directory (ModusToolbox\tools_2.1\modus-shell\) and open Cygwin.bat.

Navigate to the application directory using the cd command. Run the following commands and let me know what you see:

>> which git

>> whereis --version

Then run the following commands:

>> make get_app_info

>> make get_env_info

pastedImage_3.png

Please copy the results of these commands to a file and attach it here.

Regards,

Dheeraj

Dheeraj,

Here's some of the results you requested:

lpoma@LAPTOP-~/Documents/MTB_Projects/mtw/USB_Audio_Recorder

$ which git

/usr/bin/git

lpoma@LAPTOP-~/Documents/MTB_Projects/mtw/USB_Audio_Recorder

$ whereis --version

whereis from util-linux 2.33.1

lpoma@LAPTOP-~/Documents/MTB_Projects/mtw/USB_Audio_Recorder

$ make get_app_info

Tools Directory: C:/Users/lpoma/ModusToolbox/tools_2.1

=======================================

IDE variables

=======================================

CY_PROTOCOL=2

APP_NAME=mtb-example-psoc6-usb-audio-recorder

LIB_NAME=

TARGET=CY8CPROTO-062-4343W

TARGET_DEVICE=CY8C624ABZI-D44

CONFIGURATOR_FILES=./COMPONENT_CUSTOM_DESIGN_MODUS/TARGET_CY8CPROTO-062-4343W/design.modus

SUPPORTED_TOOL_TYPES=cype-tool device-configurator dfuh-tool smartio-configurator usbdev-configurator

CY_TOOLS_PATH=C:/Users/lpoma/ModusToolbox/tools_2.1

CY_GETLIBS_OFFLINE=

CY_GETLIBS_PATH=C:/Users/lpoma/Documents/MTB_Projects/mtw/USB_Audio_Recorder/libs

CY_GETLIBS_DEPS_PATH=C:/Users/lpoma/Documents/MTB_Projects/mtw/USB_Audio_Recorder/deps

CY_GETLIBS_CACHE_PATH=C:/Users/lpoma/.modustoolbox/cache

CY_GETLIBS_OFFLINE_PATH=C:/Users/lpoma/.modustoolbox/offline

SHAREDLIBS_ROOT=

SHAREDLIBS=

SHAREDLIBS_FILES=

CY_DEPENDENT_PROJECTS=

=======================================

User: Basic configuration variables

=======================================

TARGET=CY8CPROTO-062-4343W

APPNAME=mtb-example-psoc6-usb-audio-recorder

LIBNAME=

TOOLCHAIN=GCC_ARM

CONFIG=Debug

VERBOSE=

=======================================

User: Advanced configuration variables

=======================================

SOURCES=

INCLUDES=

DEFINES= CY_USING_HAL

VFP_SELECT=

CFLAGS=

ASFLAGS=

LDFLAGS=

LDLIBS=

LINKER_SCRIPT=./libs/TARGET_CY8CPROTO-062-4343W/COMPONENT_CM4/TOOLCHAIN_GCC_ARM/cy8c6xxa_cm4_dual.ld

PREBUILD=

POSTBUILD=

COMPONENTS=CUSTOM_DESIGN_MODUS CM0P_SLEEP BSP_DESIGN_MODUS PSOC6HAL

DISABLE_COMPONENTS=BSP_DESIGN_MODUS CY_DEFAULT_COMPONENT

DEPENDENT_LIB_PATHS=

DEPENDENT_APP_PATHS=

=======================================

User: BSP variables

=======================================

DEVICE=CY8C624ABZI-D44

ADDITIONAL_DEVICES=CYW4343WKUBG

TARGET_GEN=

DEVICE_GEN=CY8C624ABZI-D44

ADDITIONAL_DEVICES_GEN=CYW4343WKUBG

=======================================

User: Getlibs variables

=======================================

CY_GETLIBS_NO_CACHE=

CY_GETLIBS_OFFLINE=

CY_GETLIBS_PATH=C:/Users/lpoma/Documents/MTB_Projects/mtw/USB_Audio_Recorder/libs

CY_GETLIBS_DEPS_PATH=C:/Users/lpoma/Documents/MTB_Projects/mtw/USB_Audio_Recorder/deps

CY_GETLIBS_CACHE_PATH=C:/Users/lpoma/.modustoolbox/cache

CY_GETLIBS_OFFLINE_PATH=C:/Users/lpoma/.modustoolbox/offline

CY_GETLIBS_SEARCH_PATH=C:/Users/lpoma/Documents/MTB_Projects/mtw/USB_Audio_Recorder

=======================================

User: Path variables

=======================================

CY_APP_PATH=

CY_BASELIB_PATH=libs/psoc6make

CY_EXTAPP_PATH=

CY_DEVICESUPPORT_PATH=

CY_SHARED_PATH=

CY_COMPILER_PATH=

CY_TOOLS_DIR=C:/Users/lpoma/ModusToolbox/tools_2.1

CY_BUILD_LOCATION=

CY_PYTHON_PATH=

TOOLCHAIN_MK_PATH=

=======================================

User: Miscellaneous variables

=======================================

CY_IGNORE=./build

CY_SKIP_RECIPE=

CY_EXTRA_INCLUDES=

CY_LIBS_SEARCH_DEPTH=5

CY_UTILS_SEARCH_DEPTH=5

CY_IDE_PRJNAME=

CY_CONFIG_FILE_EXT=modus

CY_SUPPORTED_TOOL_TYPES=capsense-configurator capsense-tuner usbdev-configurator device-configurator qspi-configurator seglcd-configurator smartio-configurator cype-tool dfuh-tool

=======================================

Internal variables

=======================================

CY_INTERNAL_BUILD_LOC=C:/Users/lpoma/Documents/MTB_Projects/mtw/USB_Audio_Recorder/build

CY_INTERNAL_APPLOC=C:/Users/lpoma/Documents/MTB_Projects/mtw/USB_Audio_Recorder

CY_DEVICESUPPORT_SEARCH_PATH=./libs/psoc6pdl/devicesupport.xml

CC=C:/Users/lpoma/ModusToolbox/tools_2.1/gcc-7.2.1/bin/arm-none-eabi-gcc

CXX=C:/Users/lpoma/ModusToolbox/tools_2.1/gcc-7.2.1/bin/arm-none-eabi-g++

AS=C:/Users/lpoma/ModusToolbox/tools_2.1/gcc-7.2.1/bin/arm-none-eabi-gcc

AR=C:/Users/lpoma/ModusToolbox/tools_2.1/gcc-7.2.1/bin/arm-none-eabi-ar

LD=C:/Users/lpoma/ModusToolbox/tools_2.1/gcc-7.2.1/bin/arm-none-eabi-g++

lpoma@LAPTOP-~/Documents/MTB_Projects/mtw/USB_Audio_Recorder

$ make get_env_info

Tools Directory: C:/Users/lpoma/ModusToolbox/tools_2.1

make location : /usr/bin/make

make version  : 4.2.1

git location  : /usr/bin/git

git version   : git version 2.17.0

git remote    :

origin  https://github.com/cypresssemiconductorco/mtb-example-psoc6-usb-audio-recorder (fetch)

origin  https://github.com/cypresssemiconductorco/mtb-example-psoc6-usb-audio-recorder (push)

git rev-parse : 4c4ab2bca0aabc7d7826b7a69b6cebf30782f758

Thanks for looking at this issue.

Len

Len
"Engineering is an Art. The Art of Compromise."
0 Likes

Hello Len,

When any application is created in ModusToolbox, the various options for build, clean, launch configurations, environment variables are all set by default. I'm not sure how the particular application in question ended up with the wrong settings, perhaps you were modifying something?

I wasn't able to reproduce the issue through the recommended way to import the application that I mentioned in the earlier response. So, importing the application through the steps I mentioned earlier itself can be a solution to this problem.

If I try the following: File > Import > Existing Projects into Workspace > Select Root Directory > Browse to your application > Finish. This imports your application with all your modified project settings and properties. Using this method I was able to reproduce your issue and have a look at your project settings.

I think I have found the solution to why it is not able to build, but you might still face problems with the compilation because the build flow has been tampered with. Here are the steps:

(1) Right click on the project > Properties > C/C++ Build > Environment. Use the Add option to add an environment variable PATH and check the box that reads "Add to all configurations" as shown below:

pastedImage_5.png

(2) Click OK. The environment PATH variable values gets added to the project.

(3) Click Edit on the PATH variable and add the path to the Cygwin.bat directory (C:\Users\<user>\ModusToolbox\tools_2.1\modus-shell\bin). Don't forget to add the semi-colon after adding the value.

pastedImage_7.png

(4) Click Apply and then Apply and Close to save the settings.

You should now be able to proceed with building the application. If the build fails, I would recommend importing the application like I mentioned previously.

Regards,

Dheeraj

Dheeraj,

In the 'broken' project, the Environment var PATH didn't exist.   In all the other projects in the workspace, PATH did exist.

I added PATH to the 'broken' project and set it to the PATH value used by the other working projects.  That worked!

I don't know how or why this variable became missing or corrupted.  The 'broken' project was just a file copy of the entire project from a different computer where the project was working under ModusToolbox 2.1.

Thank you for the fix.  If I'm able to reproduce the 'broken' state again maybe I can share the specific steps that broke it to help others if it should happen to them.

Len

Len
"Engineering is an Art. The Art of Compromise."