Bug 218859 - net/dhcp6: sometimes fails to build with poudriere due to parallel make issues
Summary: net/dhcp6: sometimes fails to build with poudriere due to parallel make issues
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Hiroki Sato
Depends on:
Reported: 2017-04-24 21:21 UTC by Craig Leres
Modified: 2018-08-16 01:08 UTC (History)
0 users

See Also:
bugzilla: maintainer-feedback? (hrs)

patch (264 bytes, patch)
2017-04-24 21:22 UTC, Craig Leres
no flags Details | Diff
Poudriere build log showing failure to build (37.69 KB, text/plain)
2017-04-24 21:23 UTC, Craig Leres
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Craig Leres freebsd_committer 2017-04-24 21:21:59 UTC
I have 24-core poudriere build server that does daily builds and is great for detecting parallel build problems. Occasionally it fails to build net/dhcp6 and when it does the build log shows three attempts to rename y.tab.c to cfparse.c but only the two succeed (see attached).

I believe the problem is that the Makefile has an explicit (but unnecessary dependency) for y.tab.h. When a parallel make happens to build y.tab.h and cftoken.c at the same time one of these fails.

Clearly y.tab.h will be created as a side effect of running flex on cftoken.l to create cftoken.c and only cftoken.c includes y.tab.h so my patch removes the unnecessary dependency. 

I also submitted the attached patch to upstream back in February:

Comment 1 Craig Leres freebsd_committer 2017-04-24 21:22:28 UTC
Created attachment 182059 [details]
Comment 2 Craig Leres freebsd_committer 2017-04-24 21:23:41 UTC
Created attachment 182060 [details]
Poudriere build log showing failure to build
Comment 3 commit-hook freebsd_committer 2018-08-16 01:07:36 UTC
A commit references this bug:

Author: leres
Date: Thu Aug 16 01:06:56 UTC 2018
New revision: 477304
URL: https://svnweb.freebsd.org/changeset/ports/477304

  Fix Makefile dependency so that cfparse.c and y.tab.h exist
  before cftoken.c is generated or compiled.

  PR:		218859
  Reviewed by:	ler (mentor)
  Approved by:	maintainer timeout (68 weeks), ler (mentor)
  Differential Revision:	https://reviews.freebsd.org/D16738