Skip site navigation (1)Skip section navigation (2)
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>