Rtems con-current build using make -j option

Chris Johns chrisj at rtems.org
Tue Jun 17 09:13:38 UTC 2014


On 17/06/2014 9:04 pm, Mohammed Khoory wrote:
> -----Original Message-----
>> From: users [mailto:users-bounces at rtems.org] On Behalf Of Chris Johns
>> Sent: Tuesday, June 17, 2014 2:31 PM
>> To: users at rtems.org
>> Subject: Re: Rtems con-current build using make -j option
>>
>> On 17/06/2014 4:46 pm, Mohammed Khoory wrote:
>>> I’ve also had issues with concurrent building for the RTEMS source. I
>>> eventually gave up and simply built the source without any -j option.
>>>
>>>   From what I understand, the way the build system is designed makes
>>> concurrent building impossible, because some makefiles seem to depend on
>>> other makefiles finishing first. Please correct me if I'm wrong.
>>>
>>
>> This is not correct. I always build with -j8 or higher and so not see
>> problems. The tests are nested makes and these tend to execute sequentially
>> (well appear to).
>>
>> What type of host and the operating system ?
>>
>> Chris
>
> I'm on Windows 7 64-bit. MinGW host, with RTEMS 4.10, building for LEON3. IIRC, I had similar issues with RTEMS 4.11 as well.
>
> I've tried to build RTEMS 4.10 with -j4 just now to make sure, since it's been a while. The first time, the build process simply hanged and stopped progressing though and I had to kill one of the make processes, which stopped the build. I think the reason it hanged might be because of a MinGW (i.e. Windows-specific) bug when it comes to spawning several processes. I found this bug report http://sourceforge.net/p/mingw/bugs/1950/ which might be related.
>
> I cleaned and tried to build RTEMS 4.10 with -j4 again, and I got the error I used to get before (I couldn't tell what it was since it was beyond my scrollback). I assumed at the time that this meant that RTEMS wasn't meant to be built concurrently. I cleaned and tried to build with -j4 again just to make sure, but the build was successful. Subsequent trials also seem to have worked so I couldn't reproduce the problem. I guess this error doesn't happen all the time? Either way, at the time it gave me the impression that building concurrently wasn't very reliable (on my system at least).
>
> -j2 and -j3 seems to work for me however the first time I ran them. My system has a total of 4 hardware threads if this makes any difference.
>
> Sorry if I have misled anyone.
>

Yes there are some versions of GNU make on MinGW that are buggy with the 
jobs options. Another area I have seen issues is sharing a file system 
from a host to a VM. This is not related to RTEMS build system.

Chris


More information about the users mailing list