FreeBSD Bugzilla – Bug 168761
[PATCH] lang/ghc: Fix recursive failure on tinderbox/poudriere
Last modified: 2012-06-08 17:24:21 UTC
Currently, neither tinderbox nor poudriere can build packages of lang/ghc-7.4.1.
A build log with the error from pointyhead can be found here: http://pointyhat-west.isc.freebsd.org/errorlogs/i386-errorlogs/e.9-pkgng.20120603215437.pointyhat-west/ghc-7.4.1.log
Note this error does not occur if you "make install" lang/ghc without poudriere or tinderbox. It does not occur either if you run "make install" in a jail - with or without pkgng enabled.
I have not found build logs of ghc-7.4.1 without pkgng, so i do not know if tinderbox/poudriere can or cannot build lang/ghc without pkgng currently.
Fix: The problem can be fixed by reverting a commit from upstream made in December 2011. The commit can be found here: http://hackage.haskell.org/trac/ghc/changeset/1c400aa990481efea39e438a8a9884d3179da244
The patch to revert the commit is attached to this problem report, it should be placed in lang/ghc/files/
The affected section of ghc.mk has a comment explaining what it does:
# Catch make if it runs away into an infinite loop
The section implements an error condition to abort on infinite recursive make calls. Before the commit in question, up to two recursive make calls were tolerated. The commit removed the exception of two recursive make calls, stating in the commit message:
"MAKE_RESTARTS should never be higher than 1"
When building with tinderbox/poudriere, MAKE_RESTARTS becomes 2 (for reasons i dont know) and the build fails.
Since the purpose, according to the comment, of the affected section is to abort on _infinite_ recursive make calls, the patch should not be able to break anything.
I could only test the patch on my local machine running poudriere, so i cannot confirm that it fixes the tinderbox build as well (but i suppose it does).
NOTE: I added .txt to the patch; the pr submission web interface complained..
Patch attached with submission follows:
How-To-Repeat: Install poudriere, create portstree and a jail in poudriere.
# echo "lang/ghc" > buildlist.txt
# poudriere bulk -f buildlist.txt
Over to maintainer (via the GNATS Auto Assign Tool)
pgj 2012-06-08 16:11:47 UTC
FreeBSD ports repository
- Loosen make restart checks a bit to fix build on certain
configurations (e.g. pointyhat)
Submitted by: Roman Naumann <email@example.com>
Revision Changes Path
1.2 +16 -8 ports/lang/ghc/files/patch-ghc.mk
firstname.lastname@example.org mailing list
To unsubscribe, send any mail to "email@example.com"