Summary:ASTERISK-16190: "make -j X" fails
Reporter:klaus3000 (klaus3000)Labels:
Date Opened:2010-06-02 05:06:17Date Closed:2014-03-05 06:57:51.000-0600
Versions:Frequency of
Environment:Attachments:( 0) make-j3_1.6.2.txt
( 1) make-j3_trunk.txt
Description:When compiling Asterisk with "make -j X" (I always use make -j 3) then the build process fails on the first time and has to be restarted again.

Seems there is a problem with build order/dependencies.


build fails with todays 1.6.2 branch and trunk:
Comments:By: Paul Belanger (pabelanger) 2010-06-02 08:07:21

Upload your output to the issue please.

By: klaus3000 (klaus3000) 2010-06-02 09:35:47

I uploaded the output of building asterisk-trunk. The funny thing is that it happens only on the first run:
1. ./configure.......OK
2. make -j 3.........FAIL (see end of output file)
3. make -j 3.........OK
4. make distclean....OK
5. ./configure.......OK
6. make -j 3.........OK

When calling make the first time I see that make is doing something for makeselect and delete the files (see beginning of output).
rm -f main/version.c
rm -f include/asterisk/version.h

rm -f main/version.c
rm -f include/asterisk/version.h

By: klaus3000 (klaus3000) 2010-06-02 10:02:14

Similar problem on 1.6.2, although the problem happens a bit earlier (almost at the end of the output file), not during linking (see output file).

By: Matt Jordan (mjordan) 2014-03-05 06:57:45.285-0600

Although I know it's been awhile, I'm pretty sure numerous fixes to parallel build were made in recent versions of Asterisk. A lot of this was done to fix issues in the embedded pjproject in Asterisk 11, as it would be unrecoverable when built with {{make -j X}}.

I'm going to go ahead and close this out as "Test in 1.8/11" - but mostly because I'm pretty sure this is fixed there now. If you find it's still a problem in those version, let me know and I'll reopen it.