Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 28 Aug 2014 19:50:10 +0200
From:      Dimitry Andric <dim@FreeBSD.org>
To:        Don Lewis <truckman@FreeBSD.org>
Cc:        stable@FreeBSD.org
Subject:   Re: building an 8.4-STABLE i386 poudriere jail on an 10.0-STABLE amd64 host
Message-ID:  <4EFE0F86-BB71-4D2C-90F4-CFA7F594AD52@FreeBSD.org>
In-Reply-To: <201408280145.s7S1jlrA067448@gw.catspoiler.org>
References:  <201408280145.s7S1jlrA067448@gw.catspoiler.org>

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

--Apple-Mail=_80837FB0-77DB-4B7D-B32E-D01AB6B294E5
Content-Type: multipart/mixed;
	boundary="Apple-Mail=_AE2E4B31-B9C1-446E-8B23-AC7603870F5E"


--Apple-Mail=_AE2E4B31-B9C1-446E-8B23-AC7603870F5E
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

On 28 Aug 2014, at 03:45, Don Lewis <truckman@FreeBSD.org> wrote:
> I'm trying to create an 8.4-STABLE i386 poudriere jail on a host that =
is
> running 10.0-STABLE amd64.  I'm running the following commmand:
>=20
> poudriere jail -c -j 84STABLEi386 -m svn -v stable/8 -a i386 -p =
default
>=20
> Unfortuantely, I'm getting stuck at this point:
>=20
> =3D=3D=3D> gnu/usr.bin/gperf/doc (obj)
> =
/usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/var/poudriere/j=
ails/84STABLEi386/usr/src/gnu/usr.bin/gperf/doc created for =
/var/poudriere/jails/84STABLEi386/usr/src/gnu/usr.bin/gperf/doc
> rm -f .depend
> mkdep -f .depend -a    =
-I/usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/legacy/usr/in=
clude =
-I/var/poudriere/jails/84STABLEi386/usr/src/gnu/usr.bin/gperf/../../../con=
trib/gperf/lib =
-I/var/poudriere/jails/84STABLEi386/usr/src/gnu/usr.bin/gperf  =
/var/poudriere/jails/84STABLEi386/usr/src/gnu/usr.bin/gperf/../../../contr=
ib/gperf/src/bool-array.cc =
/var/poudriere/jails/84STABLEi386/usr/src/gnu/usr.bin/gperf/../../../contr=
ib/gperf/src/hash-table.cc =
/var/poudriere/jails/84STABLEi386/usr/src/gnu/usr.bin/gperf/../../../contr=
ib/gperf/src/input.cc =
/var/poudriere/jails/84STABLEi386/usr/src/gnu/usr.bin/gperf/../../../contr=
ib/gperf/src/keyword-list.cc =
/var/poudriere/jails/84STABLEi386/usr/src/gnu/usr.bin/gperf/../../../contr=
ib/gperf/src/keyword.cc =
/var/poudriere/jails/84STABLEi386/usr/src/gnu/usr.bin/gperf/../../../contr=
ib/gperf/src/main.cc =
/var/poudriere/jails/84STABLEi386/usr/src/gnu/usr.bin/gperf/../../../contr=
ib/gperf/src/options.cc /var/poudriere/jails/84STABLEi386/usr/src/!
> gnu/usr.bin/gperf/../../../contrib/gperf/src/output.cc =
/var/poudriere/jails/84STABLEi386/usr/src/gnu/usr.bin/gperf/../../../contr=
ib/gperf/src/positions.cc =
/var/poudriere/jails/84STABLEi386/usr/src/gnu/usr.bin/gperf/../../../contr=
ib/gperf/src/search.cc =
/var/poudriere/jails/84STABLEi386/usr/src/gnu/usr.bin/gperf/../../../contr=
ib/gperf/src/version.cc =
/var/poudriere/jails/84STABLEi386/usr/src/gnu/usr.bin/gperf/../../../contr=
ib/gperf/lib/getline.cc =
/var/poudriere/jails/84STABLEi386/usr/src/gnu/usr.bin/gperf/../../../contr=
ib/gperf/lib/hash.cc  =20
> echo gperf: /usr/lib/libc.a =
/usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/legacy/usr/lib/=
libegacy.a >> .depend
> echo gperf: /usr/lib/libstdc++.a >> .depend
> =3D=3D=3D> gnu/usr.bin/gperf/doc (depend)
> make: don't know how to make /usr/lib/libstdc++.a. Stop

It would have been nice to MFC r257658 to stable/8, which fixes this.
However, it depends on EARLY_BUILD being defined in Makefile.inc1 during
the early build stages, and this support was not MFC'd to stable/8,
because it is clang-related.

If you often build older branches or releases on 10.x or 11.x, it is
probably easiest to just build your system using WITH_GNUCXX, so
libstdc++ gets built and installed.

Alternatively, try the attached patch for stable/8, which uses the
BOOTSTRAPPING variable to detect the early buildworld stages instead.


> There's no /usr/lib/libstdc++.a on this machine because libstdc++ has
> been removed from /usr/src on FreeBSD 10.  If I set WITH_GCC=3Dyes in
> /etc/src.conf, I get /usr/bin/gcc, but no g++ or libstdc++.

You want to use WITH_GNUCXX instead.


>  And why are
> gperf and groff bootstrap tools anyway???

gperf is used during the build of g++, groff is used to format manpages.

-Dimitry

--Apple-Mail=_AE2E4B31-B9C1-446E-8B23-AC7603870F5E
Content-Disposition: attachment;
	filename=stable8-bootstrap-libstdcxx-1.diff
Content-Type: application/octet-stream;
	name="stable8-bootstrap-libstdcxx-1.diff"
Content-Transfer-Encoding: 7bit

Index: share/mk/bsd.prog.mk
===================================================================
--- share/mk/bsd.prog.mk	(revision 270646)
+++ share/mk/bsd.prog.mk	(working copy)
@@ -134,7 +134,7 @@
 .endif
 .else
 	echo ${PROG}: ${LIBC} ${DPADD} >> ${DEPENDFILE}
-.if defined(PROG_CXX)
+.if defined(PROG_CXX) && !defined(BOOTSTRAPPING)
 	echo ${PROG}: ${LIBSTDCPLUSPLUS} >> ${DEPENDFILE}
 .endif
 .endif

--Apple-Mail=_AE2E4B31-B9C1-446E-8B23-AC7603870F5E
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
	charset=us-ascii



--Apple-Mail=_AE2E4B31-B9C1-446E-8B23-AC7603870F5E--

--Apple-Mail=_80837FB0-77DB-4B7D-B32E-D01AB6B294E5
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.22 (Darwin)

iEYEARECAAYFAlP/a+UACgkQsF6jCi4glqMT5ACguwAKgYrjf/JWn0HxIXEcu12j
PkgAn3NN/4KUX5BP/hjj+1z13kARwq8j
=ejUu
-----END PGP SIGNATURE-----

--Apple-Mail=_80837FB0-77DB-4B7D-B32E-D01AB6B294E5--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4EFE0F86-BB71-4D2C-90F4-CFA7F594AD52>