From owner-freebsd-hackers@FreeBSD.ORG Fri Feb 26 17:39:33 2010 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DE49A106564A for ; Fri, 26 Feb 2010 17:39:32 +0000 (UTC) (envelope-from glarkin@FreeBSD.org) Received: from mail1.sourcehosting.net (113901-app1.sourcehosting.net [72.32.213.11]) by mx1.freebsd.org (Postfix) with ESMTP id BB6CE8FC17 for ; Fri, 26 Feb 2010 17:39:32 +0000 (UTC) Received: from 68-189-245-235.dhcp.oxfr.ma.charter.com ([68.189.245.235] helo=cube.entropy.prv) by mail1.sourcehosting.net with esmtp (Exim 4.69 (FreeBSD)) (envelope-from ) id 1Nl49u-000EN9-AK; Fri, 26 Feb 2010 12:39:32 -0500 Received: from [127.0.0.1] (fireball.entropy.prv [192.168.1.12]) by cube.entropy.prv (Postfix) with ESMTP id F27AB3C13E2D; Fri, 26 Feb 2010 12:39:25 -0500 (EST) Message-ID: <4B88074E.7050007@FreeBSD.org> Date: Fri, 26 Feb 2010 12:39:26 -0500 From: Greg Larkin Organization: The FreeBSD Project User-Agent: Thunderbird 2.0.0.23 (Windows/20090812) MIME-Version: 1.0 To: xorquewasp@googlemail.com References: <20100226163227.GA15162@logik.internal.network> In-Reply-To: <20100226163227.GA15162@logik.internal.network> X-Enigmail-Version: 0.96.0 OpenPGP: id=1C940290 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Spam-Score: -0.3 (/) Cc: freebsd-hackers@freebsd.org Subject: Re: package building failure irritation X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: glarkin@FreeBSD.org List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Feb 2010 17:39:33 -0000 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 xorquewasp@googlemail.com wrote: > 'Lo. > > I've come up against an infuriating problem with ports. I don't even > know what causes it, let alone how to solve it. > > Essentially, to stop already-installed software from polluting port > builds, I build ports in a jail. I put a list of ports in a file and > use a trivial shell script to build them one after the other with: > > cd $port > make clean > make deinstall > make package-recursive > > The jail is set up with: > > /etc/make.conf: > WRKDIRPREFIX= /work > DISTDIR= /distfiles > PACKAGES= /pkg > PORTSDIR= /ports > > With /ports, /distfiles and /pkg being mounted from outside the > jail using nullfs (just because those directories exist on a ZFS > array outside of the jail for performance reasons). > > Before building a set of packages, the jail is wiped clean with > 'pkg_delete -a'. > > The problem is that it seems most ports just outright fail to > produce packages. I log each build and often the last lines of > the log files read something like: > > xchm: [...] > > Note that in most cases, the compilation *will* produce a package but will > fail to produce packages for dependencies, resulting in pkg_add spewing > errors upon install: > > pkg_add: could not find package liblqr-1-0.4.1 ! > pkg_add: could not find package enchant-1.4.2 ! > pkg_add: could not find package libsigc++-2.2.4.2 ! > pkg_add: autoload of dependency '/pkg/All/glibmm-2.22.1,1.tbz' failed! > pkg_add: could not find package libxml++-2.26.1 ! > pkg_add: could not find package libsigc++-2.2.4.2 ! > pkg_add: could not find package libsigc++-2.2.4.2 ! > pkg_add: autoload of dependency '/pkg/All/glibmm-2.22.1,1.tbz' failed! > pkg_add: could not find package libxml++-2.26.1 ! > pkg_add: autoload of dependency '/pkg/All/cairomm-1.8.4.tbz' failed! > pkg_add: could not find package libsigc++-2.2.4.2 ! > pkg_add: could not find package libsigc++-2.2.4.2 ! > pkg_add: autoload of dependency '/pkg/All/glibmm-2.22.1,1.tbz' failed! > pkg_add: could not find package libxml++-2.26.1 ! > pkg_add: could not find package libsigc++-2.2.4.2 ! > pkg_add: could not find package libsigc++-2.2.4.2 ! > pkg_add: autoload of dependency '/pkg/All/glibmm-2.22.1,1.tbz' failed! > > And so on and so on. > > What's the problem here? It surely shouldn't be this hard to use 'make package'. > > The system is a vanilla install of FreeBSD 8.0 AMD64 with an up-to-date > ports tree as of yesterday. > > xw Hi xw, "make package-recursive" calls "make package-noinstall" for all of the dependent ports. I'm assuming that means that the dependent packages all have to be installed first, so I would change your script like so: cd $port make clean make deinstall make depends # just to be safe make install make package-recursive On the other hand, this is similar to what Tinderbox (http://tinderbox.marcuscom.com/README.html), so perhaps that would be a solution for you, too? Hope that helps, Greg - -- Greg Larkin http://www.FreeBSD.org/ - The Power To Serve http://www.sourcehosting.net/ - Ready. Set. Code. http://twitter.com/sourcehosting/ - Follow me, follow you -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iD8DBQFLiAdO0sRouByUApARAhK0AKCjyH0T/n6lxt7w3fqaQM0dlh1CZQCgitmN 9R3WnYFpesYLW0mlZkVVzy0= =BCbS -----END PGP SIGNATURE-----