On Dec 15, 2012 2:07 AM, "Parag N(पराग़)" <panemade(a)gmail.com> wrote:
On Sat, Dec 15, 2012 at 11:25 AM, Ralf Corsepius <rc040203(a)freenet.de>
> On 12/15/2012 06:19 AM, Parag N(पराग़) wrote:
>> On Sat, Dec 15, 2012 at 12:51 AM, Gianluca Sforna <giallu(a)gmail.com>
>>> On Fri, Dec 14, 2012 at 4:44 PM, Parag N(पराग़) <panemade(a)gmail.com>
>>>> I want to know is there any documentation available on parallel
>>>> make? If a package is not building with parallel make then can we fix
>>> If this is the case we should work with upstream to fix the build
>>> system, as we do with code.
>> I actually want to work on it as upstream is unresponsive since a
>> year. That is why I need help here. Is there any document that gives
>> examples on how can one fix broken Makefile?
> In general, broken parallel makes mean "missing make dependencies". How
> where to fix these, depends a lot on a package's
> There simply is no "golden rule"/"simple
> That said, which package are you referring to? May-be somebody else can
> something obvious.
Here is the whole story:
I am working on w3m package cleanup. Its old package and upstream is
non-responsive on w3m bug tracker. Parallel make was previously
commented in spec since long time by me only I guess. Now, last week
while working on package cleanup, I found parallel make is working
fine. I prepared new update for w3m. Committed in master. Did F19
scratch build, it worked. Did F19 official build, it failed. Did F18
scratch build, it worked. Did successful official build for F18.
Attempted again official F19 build, it failed. Did scratch F19 build,
it worked. I then third time attempted w3m build for F19 and it
I then come to know that if I comment parallel make then build always
succeeds. Now, Can someone tell what used to go wrong when build
failed in F19 and how now official build succeed with parallel make
The reason the parallel makes fail is effectively a race condition between
dependent targets. In Makefile where there are missing dependencies
between targets, a parallel make won't ALWAYS fail. If the parallel make
regularly fails some percentage of attempts, then it's broken. The fact
that it worked by chance a few times doesn't change that.
A simple approach to fixing is to look at:
1) what part of the build fails when there is a failure.
2) what was missing (a .o file, a library, etc.) that made it fail.
Then determine how to introduce a dependency in the makefile between what
was missing and what needed it. It will probably be an iterative process.
packaging mailing list