Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 4 Mar 2015 15:51:37 +0000
From:      Brooks Davis <brooks@freebsd.org>
To:        Dewayne Geraghty <dewayne.geraghty@heuristicsystems.com.au>
Cc:        FreeBSD Stable Mailing List <freebsd-stable@freebsd.org>
Subject:   Re: buildworld without libncursesw
Message-ID:  <20150304155137.GB10621@spindle.one-eyed-alien.net>
In-Reply-To: <54F64820.5000509@heuristicsystems.com.au>
References:  <54F57CF9.8000704@heuristicsystems.com.au> <20150303211359.GA10621@spindle.one-eyed-alien.net> <54F64820.5000509@heuristicsystems.com.au>

next in thread | previous in thread | raw e-mail | index | archive | help

--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 <bsd.own.mk>
> >> +
> >> +.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 <bsd.own.mk>
> +
> +.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--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20150304155137.GB10621>