Bug 192857

Summary: graphics/netpbm build fails and breaks releng/9.3 release build
Product: Ports & Packages Reporter: slvr32
Component: Individual Port(s)Assignee: Dirk Meyer <dinoex>
Status: Closed FIXED    
Severity: Affects Many People CC: dinoex, mandree, portmgr, truckman
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
log of failed build, poudriere, FreeBSD 9.3-RELEASE-p6 amd64
none
set MAKE_JOBS_UNSAFE=yes dinoex: maintainer-approval-

Description slvr32 2014-08-20 15:43:04 UTC
Attempting to build a release with releng/9.3 branch...

# mkdir /var/9.3-releng
# cd /usr/src/release
# sh generate-release.sh releng/9.3 /var/9.3-releng
[...]
gmake[2]: Entering directory `/usr/ports/graphics/netpbm/work/netpbm-10.35.92/buildtools'
cc -o typegen typegen.o
mkdir -p importinc
rm -f importinc/nstring.h
ln -sf /usr/ports/graphics/netpbm/work/netpbm-10.35.92/lib/util/../../lib/util/nstring.h importinc/nstring.h
mkdir -p importinc
rm -f importinc/filename.h
ln -sf /usr/ports/graphics/netpbm/work/netpbm-10.35.92/lib/util/../../lib/util/filename.h importinc/filename.h
gmake[2]: Entering directory `/usr/ports/graphics/netpbm/work/netpbm-10.35.92/buildtools'
cc -c -O2 -pipe -DPNG_DEPSTRUCT= -Iutil -fno-strict-aliasing -o endiangen.o endiangen.c
mkdir -p importinc
rm -f importinc/pm_c_util.h
ln -sf /usr/ports/graphics/netpbm/work/netpbm-10.35.92/lib/util/../../lib/util/pm_c_util.h importinc/pm_c_util.h
mkdir -p importinc
rm -f importinc/shhopt.h
ln -sf /usr/ports/graphics/netpbm/work/netpbm-10.35.92/lib/util/../../lib/util/shhopt.h importinc/shhopt.h
mkdir -p importinc
rm -f importinc/wordaccess.h
ln -sf /usr/ports/graphics/netpbm/work/netpbm-10.35.92/lib/util/../../lib/util/wordaccess.h importinc/wordaccess.h
mkdir -p importinc
rm -f importinc/wordaccess_64_le.h
ln -sf /usr/ports/graphics/netpbm/work/netpbm-10.35.92/lib/util/../../lib/util/wordaccess_64_le.h importinc/wordaccess_64_le.h
mkdir -p importinc
rm -f importinc/wordaccess_gcc3_be.h
ln -sf /usr/ports/graphics/netpbm/work/netpbm-10.35.92/lib/util/../../lib/util/wordaccess_gcc3_be.h importinc/wordaccess_gcc3_be.h
mkdir -p importinc
cc -o typegen typegen.o
rm -f importinc/wordaccess_gcc3_le.h
ln -sf /usr/ports/graphics/netpbm/work/netpbm-10.35.92/lib/util/../../lib/util/wordaccess_gcc3_le.h importinc/wordaccess_gcc3_le.h
mkdir -p importinc
rm -f importinc/wordaccess_generic.h
/usr/lib/crt1.o: In functioln -sf /usr/ports/graphics/netpbm/work/netpbm-10.35.92/lib/util/../../lib/util/wordaccess_generic.h importinc/wordaccess_generic.h
n `_start1':
crt1_c.c:(.text+0xa6): undmkdir -p importinc
efined reference to `main'
rm -f importinc/intcode.h
ln -sf /usr/ports/graphics/netpbm/work/netpbm-10.35.92/lib/util/../../lib/util/intcode.h importinc/intcode.h
mkdir -p importinc
gmake[2]: *** [typegen] Error 1
gmake[2]: Leaving directory `/usr/ports/graphics/netpbm/work/netpbm-10.35.92/buildtools'
gmake[1]: *** [/usr/ports/graphics/netpbm/work/netpbm-10.35.92/buildtools/typegen] Error 2
gmake[1]: *** Waiting for unfinished jobs....
rm -f importinc/version.h
ln -sf /usr/ports/graphics/netpbm/work/netpbm-10.35.92/lib/util/../../version.h importinc/version.h
cc -o endiangen endiangen.o
gmake[2]: Leaving directory `/usr/ports/graphics/netpbm/work/netpbm-10.35.92/buildtools'
/usr/ports/graphics/netpbm/work/netpbm-10.35.92/buildtools/typegen >inttypes_netpbm.h || (rm -f inttypes_netpbm.h || false)
gmake[1]: Leaving directory `/usr/ports/graphics/netpbm/work/netpbm-10.35.92'
mkdir -p importinc
rm -f importinc/inttypes_netpbm.h
ln -sf /usr/ports/graphics/netpbm/work/netpbm-10.35.92/lib/util/../../inttypes_netpbm.h importinc/inttypes_netpbm.h
gmake[2]: Leaving directory `/usr/ports/graphics/netpbm/work/netpbm-10.35.92/buildtools'
gmake[1]: Leaving directory `/usr/ports/graphics/netpbm/work/netpbm-10.35.92'
gmake: *** [/usr/ports/graphics/netpbm/work/netpbm-10.35.92/lib/util/../../pm_config.h] Error 2
[: xTry: unexpected operator
*** [pre-build] Error code 1

Stop in /usr/ports/graphics/netpbm.
*** [run-depends] Error code 1

Stop in /usr/ports/textproc/docproj.
Comment 1 Mark Linimon freebsd_committer freebsd_triage 2014-10-17 23:48:55 UTC
reclassify and assign.
Comment 2 Dirk Meyer freebsd_committer freebsd_triage 2014-10-19 11:17:45 UTC
I can not reproduce the problem on 9.3-RELEASE-p2 in clean jail.

I can not reproduce the problem on 9.3-BETA3 with 1050 ports installed.

No problems on other releases:
http://portsmon.freebsd.org/portoverview.py?category=&portname=netpbm&wildcard=

Please check your system and provide more details.
Comment 3 Dirk Meyer freebsd_committer freebsd_triage 2014-11-23 08:45:23 UTC
Unable to reproduce, maybe a shell issue.
Comment 4 Matthias Andree freebsd_committer freebsd_triage 2014-12-26 02:48:42 UTC
Created attachment 150962 [details]
log of failed build, poudriere, FreeBSD 9.3-RELEASE-p6 amd64

Similar failure here - poudriere build log attached, the failure is in pre-build trying to build "typegen", possibly due to bogus parallelization, missing dependencies, circular builds or other Makefile bugs.
Comment 5 Matthias Andree freebsd_committer freebsd_triage 2014-12-26 02:49:41 UTC
Reopen with new evidence of a clean-room rebuild.
Also CCing portmgr because this port has others that require netpbm.
Comment 6 Matthias Andree freebsd_committer freebsd_triage 2014-12-26 03:02:23 UTC
Created attachment 150963 [details]
set MAKE_JOBS_UNSAFE=yes

When about to reproduce, make sure to try on a multi-core processor or at least a fast computer with sufficient RAM such that it doesn't go into swap.

Apparently this is a regression since 10.35.80, the pre-build workaround no longer suffices to avoid the Makefile bugs in 10.35.94 - this seems again a case to add MAKE_JOBS_UNSAFE=yes.  Proposed patch attached.  No PORTREVISION bump necessary.

Please make sure upstream maintainer understands the issue and fixes the structure of his dependency management.  This package takes ages to build if serialized.
Comment 7 commit-hook freebsd_committer freebsd_triage 2014-12-27 09:42:33 UTC
A commit references this bug:

Author: dinoex
Date: Sat Dec 27 09:41:41 UTC 2014
New revision: 375675
URL: https://svnweb.freebsd.org/changeset/ports/375675

Log:
  - add MAKE_JOBS_UNSAFE
  PR:		192857
  Submitted by:	Matthias Andree

  PR:		196032

Changes:
  head/graphics/netpbm/Makefile
Comment 8 Dirk Meyer freebsd_committer freebsd_triage 2014-12-27 09:55:56 UTC
committed with minor changes
Comment 9 Dirk Meyer freebsd_committer freebsd_triage 2014-12-27 09:58:25 UTC
*** Bug 196032 has been marked as a duplicate of this bug. ***