Bug 226051

Summary: graphics/opendx parallel build failure
Product: Ports & Packages Reporter: Don Lewis <truckman>
Component: Individual Port(s)Assignee: Stephen Montgomery-Smith <stephen>
Status: Closed FIXED    
Severity: Affects Only Me Flags: bugzilla: maintainer-feedback? (stephen)
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   

Description Don Lewis freebsd_committer freebsd_triage 2018-02-19 23:43:57 UTC
I attempted to do a parallel build of opendx and got this failure:

Making all in dxmods
gmake[4]: Entering directory '/wrkdirs/usr/ports/graphics/opendx/work/dx-4.4.4/src/exec/dxmods'
echo MYINC:
rm -f dxcm.mdf
MYINC:
rm -f dx.mdf
cp ./dxmdf.src tmp.c
cp ./dxmdf.src tmp.c
cpp -I../../../include -I./../dpexec -I/wrkdirs/usr/ports/graphics/opendx/work/dx-4.4.4/include -Dfreebsd  -DHAVE_CONFIG_H tmp.c > dxcm.mdf
rm -f tmp.c
cpp -I../../../include -I./../dpexec -I/wrkdirs/usr/ports/graphics/opendx/work/dx-4.4.4/include -Dfreebsd   -DHAVE_CONFIG_H -DCPLUSPLUS_UI -DEXEC
UTIVE_MODS tmp.c > dx.mdf
usercm.c rule
awk -f ../../../lib/mdf2c.awk < dxcm.mdf > usercm.c
cpp: error: no such file or directory: 'tmp.c'
gmake[4]: *** [local.mk:25: dx.mdf] Error 1
gmake[4]: *** Waiting for unfinished jobs....
gmake[4]: Leaving directory '/wrkdirs/usr/ports/graphics/opendx/work/dx-4.4.4/src/exec/dxmods'
gmake[3]: *** [Makefile:386: all-recursive] Error 1
gmake[3]: Leaving directory '/wrkdirs/usr/ports/graphics/opendx/work/dx-4.4.4/src/exec'
gmake[2]: *** [Makefile:256: all-recursive] Error 1
gmake[2]: Leaving directory '/wrkdirs/usr/ports/graphics/opendx/work/dx-4.4.4/src'

It looks like opendx needs MAKE_JOBS_UNSAFE=yes to force a single-threaded build.
Comment 1 Stephen Montgomery-Smith freebsd_committer freebsd_triage 2018-02-20 02:34:18 UTC
Which version of FreeBSD are you using?

When you tried building it with MAKE_JOBS_UNSAFE, did that fix the problem?

It is an easy fix to apply, but I just want to get all the pertinent details before I commit it.
Comment 2 Don Lewis freebsd_committer freebsd_triage 2018-02-20 03:12:07 UTC
12.0-CURRENT FreeBSD 12.0-CURRENT #4 r329296M

CPU is AMD Ryzen 7 1700X Eight-Core Processor.

The poudriere build jail is 11.1-RELEASE-p6 amd64.

So far as I know, the package build cluster does not set ALLOW_MAKE_JOBS,
which is why it would not report build failures.  Even setting ALLOW_MAKE_JOBS is likely to give non-determistic failure.  Whether or not a particular build fails probably depends on the number of CPU cores available, other load on the system, and luck.

I get a successful build with MAKE_JOBS_UNSAFE:

...
gmake[3]: Nothing to be done for 'install-data-am'.
gmake[3]: Leaving directory '/wrkdirs/usr/ports/graphics/opendx/work/dx-4.4.4/wi
ndows'
gmake[2]: Leaving directory '/wrkdirs/usr/ports/graphics/opendx/work/dx-4.4.4/wi
ndows'
gmake[2]: Entering directory '/wrkdirs/usr/ports/graphics/opendx/work/dx-4.4.4'
gmake[3]: Entering directory '/wrkdirs/usr/ports/graphics/opendx/work/dx-4.4.4'
gmake[3]: Nothing to be done for 'install-exec-am'.
gmake[3]: Nothing to be done for 'install-data-am'.
gmake[3]: Leaving directory '/wrkdirs/usr/ports/graphics/opendx/work/dx-4.4.4'
gmake[2]: Leaving directory '/wrkdirs/usr/ports/graphics/opendx/work/dx-4.4.4'
gmake[1]: Leaving directory '/wrkdirs/usr/ports/graphics/opendx/work/dx-4.4.4'
====> Compressing man pages (compress-man)
===========================================================================
=======================<phase: package        >============================
===>  Building package for opendx-4.4.4_25
===========================================================================
=>> Cleaning up wrkdir
===>  Cleaning for opendx-4.4.4_25
build of graphics/opendx | opendx-4.4.4_25 ended at Sun Feb 18 21:57:18 PST 2018
build time: 00:40:36
Comment 3 commit-hook freebsd_committer freebsd_triage 2018-02-20 03:36:28 UTC
A commit references this bug:

Author: stephen
Date: Tue Feb 20 03:36:02 UTC 2018
New revision: 462369
URL: https://svnweb.freebsd.org/changeset/ports/462369

Log:
  - Add MAKE_JOBS_UNSAFE=yes.

  PR:		ports/226051
  Submitted by:	Don Lewis <truckman@FreeBSD.org>

Changes:
  head/graphics/opendx/Makefile
Comment 4 Stephen Montgomery-Smith freebsd_committer freebsd_triage 2018-02-20 03:37:09 UTC
Committed.  Thank you.