Date: Mon, 25 Nov 2013 09:51:10 +0200 From: Konstantin Belousov <kostikbel@gmail.com> To: Glen Barber <gjb@FreeBSD.org> Cc: freebsd-current@freebsd.org, peter@freebsd.org Subject: Re: Buildworld broken with WITHOUT_DYNAMICROOT=yes in src.conf Message-ID: <20131125075110.GL59496@kib.kiev.ua> In-Reply-To: <20131125044854.GC2310@glenbarber.us> References: <201311250111.rAP1BuI0009520@pozo.com> <20131125011949.GC1627@glenbarber.us> <20131125012302.GD1627@glenbarber.us> <201311250129.rAP1TJfQ033437@pozo.com> <20131125041724.GA2310@glenbarber.us> <201311250441.rAP4freb002330@pozo.com> <20131125044854.GC2310@glenbarber.us>
next in thread | previous in thread | raw e-mail | index | archive | help
--1AMxIamHFXrJUbFZ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, Nov 24, 2013 at 11:48:54PM -0500, Glen Barber wrote: > On Sun, Nov 24, 2013 at 08:41:48PM -0800, Manfred Antar wrote: > > At 08:17 PM 11/24/2013, Glen Barber wrote: > > >On Sun, Nov 24, 2013 at 05:29:14PM -0800, Manfred Antar wrote: > > >> adding -lc_nonshared to LAAD enables me to build /bin and /sbin stat= ically > > >> /bin/csh/Makefile was the only one I had to change all the rest of /= bin and /sbin built fine > > >>=20 > > > > > >Hmm, I'm not sure if bin/csh/ should require -c_nonshared > > >unconditionally. > > > > > >I've done some testing with WITHOUT_DYNAMICROOT=3D1, WITHOUT_ICONV=3D1, > > >WITH_ICONV=3D1, WITH_DYNAMICROOT=3D1, and am getting different results= with > > >regard to what iconv_*() are included... > > > > > >Glen > > > > > > > >=20 > > I think it only needs it if you want a static csh. > > my src.conf : > >=20 > > #WITHOUT_DYNAMICROOT=3Dyes=20 > > WITH_IDEA=3Dyes > > # Don't die on warnings > > NO_WERROR=3D > > WERROR=3D > > WITH_GCC=3Dyes > > WITH_GNUCXX=3Dyes > >=20 > > can you some kind of conditional > >=20 > > if WITHOUT_DYNAMICROOT=3Dyes then LADD+=3D -lc_nonshared=20 > >=20 >=20 > Yes, that is what I am doing, but also getting unexpected results. >=20 > Latest diff I tried is: >=20 > Index: Makefile > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- Makefile (revision 258538) > +++ Makefile (working copy) > @@ -42,6 +42,9 @@ > =20 > DPADD=3D ${LIBTERMCAP} ${LIBCRYPT} > LDADD=3D -ltermcap -lcrypt > +.if ${MK_ICONV} !=3D "no" && ${MK_DYNAMICROOT} !=3D "yes" > +LDADD+=3D -lc_nonshared > +.endif > =20 > LINKS=3D ${BINDIR}/csh ${BINDIR}/tcsh > =20 No, this is wrong. As is, static linking is broken and the hack above only fixes one case. What is needed is inclusion of the lib/libc_nonshared object files into static libc.a. I am not sure how to express this in our build system. --1AMxIamHFXrJUbFZ Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (FreeBSD) iQIcBAEBAgAGBQJSkwFtAAoJEJDCuSvBvK1BfYUQAImcyOwRPjO/FY47AFfwkBqD DPAuQ/AQHtoAY5Pg9aQSEiydgZGoWeBVTcujpQKJBFcMJC3sHN3oAxOQuJvze9el Cfp/kX3CntgI73Kzajq0E7h9D8s1wpfM2hprWpQOKaQWZ2Iu1qgluypuvf2oBd3O yR8xgHQOtT1z35jvsaLHPQP5Fcoyx4onL2izOaVpl15b8blgeZchip73g8iqhHOO Osr+syfmc58ncNnX7aOuS8ik+Z0Mb0tu8KW0cN2FjoyhxGR1u0HXeVrTQxCieJZ6 CuBVBrhpUDvVF2ZNGE/t83DyB9QhkbyCWXRUGCj+koW0Hl2AV68asBxYHQDqXSJ7 a9IciuK/Ms1wp/TIYUsLKTpwOMx0eymakPYG7GWu5gT4pDo4fSqFB+XpBvxN8R7m dh86gSC2WgnU1FN1EupFHN8lw4idSkJTvQsxAcHGiKwUbNi+lJYesxXlban2QE2K yyq8V57PBgpdNxYVUBKZ7YkDXPA3ihCMJWjbz3FouSPFEVDTbBmCM3Kgiaf/UcQt R8QSseOvnk3Qiv+C8VOA4wJuXuC3trodoUvFlyQF2MaQgGCJnwViFOtRKI3sj5Cg VlrarJRZRF6vJuWzE1UXnVH2pfnqKLQWEUwifEZgxqymJBJHo/7jFgk8xs0W148C tA5Oe5r/sl+HAxLcAFru =Y45F -----END PGP SIGNATURE----- --1AMxIamHFXrJUbFZ--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20131125075110.GL59496>