x
login Signup

"gmake: Comand not found" during ElectricAccelerator build

I'm using ElectricAccelerator 10.0.3.78576 64-bit on Ubuntu 16.04. I'm trying to build my existing set of code using existing set of makefiles. These makefiles do lots of recursion and sometimes call the nested makfiles using 'gmake -C foo/baz -f Makefile.custom'. While executing these makefiles I always get an error:

 root@ubuntu:/var/tmp/ea# /opt/ecloud/i686_Linux/bin/emake --emake-cm=10.102.103.130
 
 Starting build: 14
 
 echo "making lib1.o"
 
 making lib1.o
 
 gmake -j1 lib1
 
 gmake: Command not found
 
 make: *** [lib1.o] Error 127
 
 Finished build: 14   Duration: 0:00 (m:s)   Cluster availability: 100%

I even tried using the --emake-emulation=gmake4.1 option but it did not help.

What am I doing wrong?

avatar image By Deepak 0 asked Apr 19 at 04:00 PM
more ▼
(comments are locked)
10|750 characters needed characters left

1 answer: sort voted first

It sounds like you have two problems:

  1. Hardcoded references to gmake. Your makefile must have hardcoded references to gmake for recursive make invocations. That is, your makefile literally has commands like gmake -j1 lib1 when it instead should have $(MAKE) -j1 lib1. If it used $(MAKE) instead, then emake would invoke emake recursively, which is what you really want to happen anyway.

  2. gmake is not installed on your agent host. There's not anything mysterious really about the error you're seeing -- it just means that the program you tried to invoke (gmake, in this case) either is not installed on the particular agent host that tried to run it, or it is installed but in a location that is not in your PATH, or, since you mentioned you're using Ubuntu, it may be that GNU make is installed, but the binary is named make rather than gmake. You can use the annotation file that emake generated to determine which agent host needs to be fixed. For example, your annotation should contain something like this:

    <job id="J00007fd264003440" thread="7fd27a3e5700" start="3" end="4" weight="0" type="rule" name="lib1.o" file="Makefile" line="1">

    <why reason="target-absent"/>

    <command line="1">

    <argv>gmake -j lib1</argv>

    <output src="prog">gmake: Command not found

    </output>

    <output>make: *** [lib1.o] Error 127

    </output>

    </command>

    <commitTimes start="0.031153" wait="0.032173" commit="0.032212" write="0.032232"/>

    <timing invoked="0.031007" completed="0.032164" node="chester-3"/>

    <failed code="127"/>

    </job>

Note that the <timing> tag contains the name of the agent that emake tried to use to run the command. That's the system you need to fix.

avatar image By eric melski ♦♦ 6k answered Apr 19 at 04:13 PM
more ▼
(comments are locked)
10|750 characters needed characters left
Your answer
toggle preview:

Up to 8 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.