From owner-freebsd-stable@FreeBSD.ORG Wed Mar 4 15:51:39 2015 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3F7143BC for ; Wed, 4 Mar 2015 15:51:39 +0000 (UTC) Received: from spindle.one-eyed-alien.net (spindle.one-eyed-alien.net [199.48.129.229]) by mx1.freebsd.org (Postfix) with ESMTP id F17747A9 for ; Wed, 4 Mar 2015 15:51:38 +0000 (UTC) Received: by spindle.one-eyed-alien.net (Postfix, from userid 3001) id DF6CE5A9F25; Wed, 4 Mar 2015 15:51:37 +0000 (UTC) Date: Wed, 4 Mar 2015 15:51:37 +0000 From: Brooks Davis To: Dewayne Geraghty Subject: Re: buildworld without libncursesw Message-ID: <20150304155137.GB10621@spindle.one-eyed-alien.net> References: <54F57CF9.8000704@heuristicsystems.com.au> <20150303211359.GA10621@spindle.one-eyed-alien.net> <54F64820.5000509@heuristicsystems.com.au> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="H+4ONPRPur6+Ovig" Content-Disposition: inline In-Reply-To: <54F64820.5000509@heuristicsystems.com.au> User-Agent: Mutt/1.5.23 (2014-03-12) Cc: FreeBSD Stable Mailing List X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Mar 2015 15:51:39 -0000 --H+4ONPRPur6+Ovig Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Mar 04, 2015 at 10:47:44AM +1100, Dewayne Geraghty wrote: >=20 > On 4/03/2015 8:13 AM, Brooks Davis wrote: > > On Tue, Mar 03, 2015 at 08:20:57PM +1100, Dewayne Geraghty wrote: > >> Is there a preferred way to buildworld without libncursesw? > >> > >> When I add to /etc/src.conf > >> WITHOUT_NCURSESW=3Dyes > >> > >> I find that a buildworld fails due to missing libncursesw.*. > >> So what uses libncurses? These guys do > >> /usr/bin/dialog > >> /usr/bin/dpv > >> =20 > >> /usr/sbin/sade -> /usr/libexec/bsdinstall/partedit > >> /usr/sbin/tzsetup > >> > >> Getting a little frustrated I modifed the Makefile:, so for example > >> dialog (/usr/src/contrib/dialog) > >> > >> +.include > >> + > >> +.if ${MK_NCURSESW} =3D=3D "no" > >> +DPADD=3D ${LIBDPV} ${LIBDIALOG} ${LIBFIGPAR} ${LIBNCURSES} > >> ${LIBUTIL} ${LIBM} > >> +LDADD=3D -ldpv -ldialog -lfigpar -lncurses -lutil -lm > >> +.else > >> DPADD=3D ${LIBDPV} ${LIBDIALOG} ${LIBFIGPAR} ${LIBNCURSESW} > >> ${LIBUTIL} ${LIBM} > >> LDADD=3D -ldpv -ldialog -lfigpar -lncursesw -lutil -lm > >> +.endif > >> > >> And checking > >> # make -VMK_NCURSESW > >> no > >> > >> I'm at a bit of a loss as to why these are proving difficult to build, > >> or what I can do to get the desired outcome, ie no libncursesw.so* > > I tried to make this work a while ago and it's not practical. Instead, > > we need to remove libncurses (or more likely replace it with a linker > > script to cause libncursesw to be used.) > > > > It should be the case that nothing in the base system uses libncurses, > > but it's all too likely that someone has broken that since I switched > > the remaining bits over. > > > > -- Brooks > Unfortunately I can't say which ones use libncurses as I've sprinkled > things like this over anything that uses libncursesw >=20 > -DPADD=3D ${LIBDEVSTAT} ${LIBKVM} ${LIBGEOM} ${LIBBSDXML} ${LIBSBUF} > ${LIBEDIT} ${LIBNCURSESW} > -LDADD=3D -ldevstat -lkvm -lgeom -lbsdxml -lsbuf -ledit -lncursesw > +DPADD=3D ${LIBDEVSTAT} ${LIBKVM} ${LIBGEOM} ${LIBBSDXML} ${LIBSBUF} > ${LIBEDIT} > +LDADD=3D -ldevstat -lkvm -lgeom -lbsdxml -lsbuf -ledit >=20 > +.include > + > +.if ${MK_NCURSESW} =3D=3D "no" > +DPADD+=3D ${LIBNCURSES} > +LDADD+=3D -lncurses > +.else > +DPADD+=3D ${LIBNCURSESW} > +LDADD+=3D -lncursesw > +.endif > + >=20 > and only the above 4 programs are more of a challenge. >=20 > Any consistency is a good thing, so honouring WITHOUT_NCURSESW should be > the trigger. This situation arose because I needed some things in > /rescue and there was a conflict stuffing both libncurses and > libncursesw into the /usr/src/rescue build, as you'd expect. :) I'd forgotten I'd merged WITHOUT_NCURSESW to 10. That was a mistake as it turns out to be unmaintainable. I removed it from head long ago and it will not return. Unless you want to fix it and keep fixing it as things are merged from head we should either remove it or document it as broken. -- Brooks --H+4ONPRPur6+Ovig Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iEYEARECAAYFAlT3KggACgkQXY6L6fI4GtTQ0ACeIDJMe15fboW8TN2nxfhsI3BV xJYAnjyZlwwPkDzmo7QJGRg6g6UtkHt/ =PLQC -----END PGP SIGNATURE----- --H+4ONPRPur6+Ovig--