Date: Sat, 28 Jul 2018 03:20:06 -0700 From: Mark Millard <marklmi@yahoo.com> To: John Baldwin <jhb@freebsd.org> Cc: FreeBSD Ports <freebsd-ports@freebsd.org>, Bryan Drewery <bdrewery@FreeBSD.org> Subject: Re: Building devel/powerpc64-gcc and devel/amd64-gcc and the like fail: "Unable to access file" for many files in work/stage/... Message-ID: <57B1EBC3-1586-4495-9C1E-0560D4EDF328@yahoo.com> In-Reply-To: <E44CAF79-92AD-469E-9092-3D2E0100DC59@yahoo.com> References: <3A54CD6F-FEE9-4813-97B8-76A3E619D7F4@yahoo.com> <884de41d-011e-a025-bfec-4e61b5546336@FreeBSD.org> <E44CAF79-92AD-469E-9092-3D2E0100DC59@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2018-Jul-28, at 1:33 AM, Mark Millard <marklmi at yahoo.com> wrote: > On 2018-Jul-26, at 10:24 AM, John Baldwin <jhb at freebsd.org> wrote: >=20 >> On 7/26/18 12:02 AM, Mark Millard wrote: >>> Based on attempting to update (via poudriere-devel and pkg) to = -r475344 (from >>> a prior 2018-Jul-15 6.4.0_1 build and installation of such = devel/*-gcc --and >>> other things). . . >>>=20 >>> =3D=3D=3D> Building package for powerpc64-gcc-6.4.0_2 >>> pkg-static: Unable to access file = /wrkdirs/usr/ports/devel/powerpc64-gcc/work/stage/usr/local/lib/gcc/powerp= c64-unknown-freebsd12.0/6.4.0/plugin/gtype.state:No such file or = directory >>> pkg-static: Unable to access file = /wrkdirs/usr/ports/devel/powerpc64-gcc/work/stage/usr/local/lib/gcc/powerp= c64-unknown-freebsd12.0/6.4.0/plugin/include/ada/gcc-interface/ada-tree.de= f:No such file or directory >>> pkg-static: Unable to access file = /wrkdirs/usr/ports/devel/powerpc64-gcc/work/stage/usr/local/lib/gcc/powerp= c64-unknown-freebsd12.0/6.4.0/plugin/include/addresses.h:No such file or = directory >>> pkg-static: Unable to access file = /wrkdirs/usr/ports/devel/powerpc64-gcc/work/stage/usr/local/lib/gcc/powerp= c64-unknown-freebsd12.0/6.4.0/plugin/include/alias.h:No such file or = directory >>> pkg-static: Unable to access file = /wrkdirs/usr/ports/devel/powerpc64-gcc/work/stage/usr/local/lib/gcc/powerp= c64-unknown-freebsd12.0/6.4.0/plugin/include/all-tree.def:No such file = or directory >>> pkg-static: Unable to access file = /wrkdirs/usr/ports/devel/powerpc64-gcc/work/stage/usr/local/lib/gcc/powerp= c64-unknown-freebsd12.0/6.4.0/plugin/include/alloc-pool.h:No such file = or directory >>> pkg-static: Unable to access file = /wrkdirs/usr/ports/devel/powerpc64-gcc/work/stage/usr/local/lib/gcc/powerp= c64-unknown-freebsd12.0/6.4.0/plugin/include/ansidecl.h:No such file or = directory >>> pkg-static: Unable to access file = /wrkdirs/usr/ports/devel/powerpc64-gcc/work/stage/usr/local/lib/gcc/powerp= c64-unknown-freebsd12.0/6.4.0/plugin/include/asan.h:No such file or = directory >>> pkg-static: Unable to access file = /wrkdirs/usr/ports/devel/powerpc64-gcc/work/stage/usr/local/lib/gcc/powerp= c64-unknown-freebsd12.0/6.4.0/plugin/include/attribs.h:No such file or = directory >>> pkg-static: Unable to access file = /wrkdirs/usr/ports/devel/powerpc64-gcc/work/stage/usr/local/lib/gcc/powerp= c64-unknown-freebsd12.0/6.4.0/plugin/include/auto-host.h:No such file or = directory >>> pkg-static: Unable to access file = /wrkdirs/usr/ports/devel/powerpc64-gcc/work/stage/usr/local/lib/gcc/powerp= c64-unknown-freebsd12.0/6.4.0/plugin/include/auto-profile.h:No such file = or directory >>> . . . >>> pkg-static: Unable to access file = /wrkdirs/usr/ports/devel/powerpc64-gcc/work/stage/usr/local/lib/gcc/powerp= c64-unknown-freebsd12.0/6.4.0/plugin/include/xcoff.h:No such file or = directory >>> pkg-static: Unable to access file = /wrkdirs/usr/ports/devel/powerpc64-gcc/work/stage/usr/local/lib/gcc/powerp= c64-unknown-freebsd12.0/6.4.0/plugin/include/xcoffout.h:No such file or = directory >>> pkg-static: Unable to access file = /wrkdirs/usr/ports/devel/powerpc64-gcc/work/stage/usr/local/libexec/gcc/po= werpc64-unknown-freebsd12.0/6.4.0/plugin/gengtype:No such file or = directory >>> *** Error code 1 >>>=20 >>>=20 >>> =3D=3D=3D> Building package for amd64-gcc-6.4.0_2 >>> pkg-static: Unable to access file = /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-unk= nown-freebsd12.0/6.4.0/plugin/gtype.state:No such file or directory >>> pkg-static: Unable to access file = /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-unk= nown-freebsd12.0/6.4.0/plugin/include/ada/gcc-interface/ada-tree.def:No = such file or directo >>> ry >>> pkg-static: Unable to access file = /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-unk= nown-freebsd12.0/6.4.0/plugin/include/addresses.h:No such file or = directory >>> pkg-static: Unable to access file = /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-unk= nown-freebsd12.0/6.4.0/plugin/include/alias.h:No such file or directory >>> pkg-static: Unable to access file = /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-unk= nown-freebsd12.0/6.4.0/plugin/include/all-tree.def:No such file or = directory >>> pkg-static: Unable to access file = /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-unk= nown-freebsd12.0/6.4.0/plugin/include/alloc-pool.h:No such file or = directory >>> pkg-static: Unable to access file = /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-unk= nown-freebsd12.0/6.4.0/plugin/include/ansidecl.h:No such file or = directory >>> pkg-static: Unable to access file = /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-unk= nown-freebsd12.0/6.4.0/plugin/include/asan.h:No such file or directory >>> pkg-static: Unable to access file = /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-unk= nown-freebsd12.0/6.4.0/plugin/include/attribs.h:No such file or = directory >>> pkg-static: Unable to access file = /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-unk= nown-freebsd12.0/6.4.0/plugin/include/auto-host.h:No such file or = directory >>> pkg-static: Unable to access file = /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-unk= nown-freebsd12.0/6.4.0/plugin/include/auto-profile.h:No such file or = directory >>> . . . >>>=20 >>> I'll not list devel/aarch64 materials but they are similar. >>>=20 >>>=20 >>> Looking around for, say, gtype.state shows the likes of: >>>=20 >>> # find /wrkdirs/usr/ports/devel/ -name gtype.state -print | more >>> /wrkdirs/usr/ports/devel/powerpc64-gcc/work/.build/gcc/gtype.state >>> /wrkdirs/usr/ports/devel/amd64-gcc/work/.build/gcc/gtype.state >>>=20 >>> ( Nothing in work/stage/... ) >>>=20 >>>=20 >>> In fact: >>>=20 >>> # ls -laTt = /wrkdirs/usr/ports/devel/powerpc64-gcc/work/stage/usr/local/lib/gcc/powerp= c64-unknown-freebsd12.0/6.4.0/ >>> total 16 >>> drwxr-xr-x 4 root wheel 512 Jul 25 22:00:28 2018 . >>> drwxr-xr-x 3 root wheel 512 Jul 25 21:59:38 2018 install-tools >>> drwxr-xr-x 2 root wheel 512 Jul 25 21:59:37 2018 include >>> drwxr-xr-x 3 root wheel 512 Jul 25 21:59:26 2018 .. >>>=20 >>> # ls -laTt = /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-unk= nown-freebsd12.0/6.4.0/ >>> total 16 >>> drwxr-xr-x 4 root wheel 512 Jul 25 22:07:48 2018 . >>> drwxr-xr-x 2 root wheel 2048 Jul 25 22:07:48 2018 include >>> drwxr-xr-x 3 root wheel 512 Jul 25 22:07:47 2018 install-tools >>> drwxr-xr-x 3 root wheel 512 Jul 25 22:07:44 2018 .. >>>=20 >>> # ls -laTt = /wrkdirs/usr/ports/devel/powerpc64-gcc/work/stage/usr/local/libexec/gcc/po= werpc64-unknown-freebsd12.0/6.4.0/ >>> total 284336 >>> drwxr-xr-x 3 root wheel 512 Jul 25 22:00:28 2018 . >>> -r-xr-xr-x 1 root wheel 2812448 Jul 25 22:00:26 2018 = lto-wrapper >>> drwxr-xr-x 2 root wheel 512 Jul 25 21:59:38 2018 = install-tools >>> -r-xr-xr-x 1 root wheel 101453496 Jul 25 21:59:35 2018 cc1plus >>> -r-xr-xr-x 1 root wheel 2402600 Jul 25 21:59:35 2018 collect2 >>> -r-xr-xr-x 1 root wheel 90112408 Jul 25 21:59:35 2018 lto1 >>> -r-xr-xr-x 1 root wheel 93819272 Jul 25 21:59:34 2018 cc1 >>> lrwxr-xr-x 1 root wheel 22 Jul 25 21:59:28 2018 = liblto_plugin.so -> liblto_plugin.so.0.0.0 >>> lrwxr-xr-x 1 root wheel 22 Jul 25 21:59:28 2018 = liblto_plugin.so.0 -> liblto_plugin.so.0.0.0 >>> -rwxr-xr-x 1 root wheel 264360 Jul 25 21:59:28 2018 = liblto_plugin.so.0.0.0 >>> drwxr-xr-x 3 root wheel 512 Jul 25 21:59:26 2018 .. >>>=20 >>> # ls -laTt = /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/libexec/gcc/x86_64= -unknown-freebsd12.0/6.4.0/ >>> total 317648 >>> drwxr-xr-x 3 root wheel 512 Jul 25 22:07:48 2018 . >>> drwxr-xr-x 2 root wheel 512 Jul 25 22:07:47 2018 = install-tools >>> -r-xr-xr-x 1 root wheel 2829704 Jul 25 22:07:47 2018 = lto-wrapper >>> -r-xr-xr-x 1 root wheel 105180264 Jul 25 22:07:46 2018 cc1 >>> -r-xr-xr-x 1 root wheel 112817696 Jul 25 22:07:46 2018 cc1plus >>> -r-xr-xr-x 1 root wheel 2404680 Jul 25 22:07:46 2018 collect2 >>> -r-xr-xr-x 1 root wheel 101541352 Jul 25 22:07:46 2018 lto1 >>> drwxr-xr-x 3 root wheel 512 Jul 25 22:07:44 2018 .. >>> lrwxr-xr-x 1 root wheel 22 Jul 25 22:07:44 2018 = liblto_plugin.so -> liblto_plugin.so.0.0.0 >>> lrwxr-xr-x 1 root wheel 22 Jul 25 22:07:44 2018 = liblto_plugin.so.0 -> liblto_plugin.so.0.0.0 >>> -rwxr-xr-x 1 root wheel 264168 Jul 25 22:07:44 2018 = liblto_plugin.so.0.0.0 >>>=20 >>> So no plugin paths at all. So looking . . . >>>=20 >>> # find /wrkdirs/usr/ports/devel/ -name plugin -print | more >>> = /wrkdirs/usr/ports/devel/powerpc64-gcc/work/gcc-6.4.0/libjava/classpath/na= tive/plugin >>> /wrkdirs/usr/ports/devel/powerpc64-gcc/work/gcc-6.4.0/libgomp/plugin >>> = /wrkdirs/usr/ports/devel/powerpc64-gcc/work/gcc-6.4.0/liboffloadmic/plugin= >>> = /wrkdirs/usr/ports/devel/powerpc64-gcc/work/gcc-6.4.0/gcc/testsuite/objc.d= g/plugin >>> = /wrkdirs/usr/ports/devel/powerpc64-gcc/work/gcc-6.4.0/gcc/testsuite/gcc.dg= /plugin >>> = /wrkdirs/usr/ports/devel/powerpc64-gcc/work/gcc-6.4.0/gcc/testsuite/g++.dg= /plugin >>> = /wrkdirs/usr/ports/devel/powerpc64-gcc/work/gcc-6.4.0/gcc/testsuite/obj-c+= +.dg/plugin >>> = /wrkdirs/usr/ports/devel/amd64-gcc/work/gcc-6.4.0/libjava/classpath/native= /plugin >>> /wrkdirs/usr/ports/devel/amd64-gcc/work/gcc-6.4.0/libgomp/plugin >>> = /wrkdirs/usr/ports/devel/amd64-gcc/work/gcc-6.4.0/liboffloadmic/plugin >>> = /wrkdirs/usr/ports/devel/amd64-gcc/work/gcc-6.4.0/gcc/testsuite/objc.dg/pl= ugin >>> = /wrkdirs/usr/ports/devel/amd64-gcc/work/gcc-6.4.0/gcc/testsuite/gcc.dg/plu= gin >>> = /wrkdirs/usr/ports/devel/amd64-gcc/work/gcc-6.4.0/gcc/testsuite/g++.dg/plu= gin >>> = /wrkdirs/usr/ports/devel/amd64-gcc/work/gcc-6.4.0/gcc/testsuite/obj-c++.dg= /plugin >>>=20 >>> (None of which seem to be a match.) >>>=20 >>> Picking a plugin/include/*.h file and looking for it: >>>=20 >>> lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/xcoff.h >>>=20 >>> # find /wrkdirs/usr/ports/devel/ -name xcoff.h -print | more >>> = /wrkdirs/usr/ports/devel/powerpc64-gcc/work/gcc-6.4.0/gcc/config/rs6000/xc= off.h >>> /wrkdirs/usr/ports/devel/powerpc64-gcc/work/gcc-6.4.0/gcc/xcoff.h >>> = /wrkdirs/usr/ports/devel/amd64-gcc/work/gcc-6.4.0/gcc/config/rs6000/xcoff.= h >>> /wrkdirs/usr/ports/devel/amd64-gcc/work/gcc-6.4.0/gcc/xcoff.h >>>=20 >>>=20 >>> Note: the devel/*-binutils builds worked fine, as did devel/gdb . >>> ( lang/gcc8 is still rebuilding. ) >>>=20 >>> Context: >>>=20 >>> # uname -apKU >>> FreeBSD FBSDUSSD 12.0-CURRENT FreeBSD 12.0-CURRENT r336693M amd64 = amd64 1200075 1200075 >>=20 >> Hmm, I'll investigate. I wonder if it's the fact that I fixed the = --host to correctly >> use x86_64 instead of amd64 when building a !amd64 GCC on an amd64 = host (r475291). >=20 > Looking at the log file from, for example, amd64-gcc's failed build = shows > that there is missing activity from, for example, = $(srcdir)/cp/Make-lang.in > (the C++ and Objective-C++ common object files are included) from: >=20 > LANG_MAKEFRAGS =3D $(srcdir)/ada/gcc-interface/Make-lang.in = $(srcdir)/c/Make-lang.in $(srcdir)/cp/Make-lang.in = $(srcdir)/fortran/Make-lang.in $(srcdir)/go/Make-lang.in = $(srcdir)/java/Make-lang.in $(src > dir)/jit/Make-lang.in $(srcdir)/lto/Make-lang.in = $(srcdir)/objc/Make-lang.in $(srcdir)/objcp/Make-lang.in >=20 > in /wrkdirs/usr/ports/devel/amd64-gcc/work/.build/gcc/Makefile >=20 >=20 >=20 > For example the likes of the following are missing from the log > file (that would be via $(srcdir)/cp/Make-lang.in ): >=20 > headers=3D"cp-tree.h cxx-pretty-print.h name-lookup.h type-utils.h"; \ > for file in $headers; do \ > path=3D/wrkdirs/usr/ports/devel/amd64-gcc/work/gcc-6.4.0/gcc/cp/$file; = \ > = dest=3D/usr/local/lib/gcc/x86_64-unknown-freebsd12.0/6.4.0/plugin/include/= cp/$file; \ > echo install -m 0644 $path = /wrkdirs/usr/ports/devel/amd64-gcc/work/stage$dest; \ > dir=3D`dirname $dest`; \ > /bin/sh = /wrkdirs/usr/ports/devel/amd64-gcc/work/gcc-6.4.0/gcc/../mkinstalldirs = /wrkdirs/usr/ports/devel/amd64-gcc/work/stage$dir; \ > install -m 0644 $path = /wrkdirs/usr/ports/devel/amd64-gcc/work/stage$dest; \ > done > install -m 0644 = /wrkdirs/usr/ports/devel/amd64-gcc/work/gcc-6.4.0/gcc/cp/cp-tree.h = /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-unk= nown-freebsd12.0/6.4.0/plugin/include/cp/cp-tree.h > mkdir = /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-unk= nown-freebsd12.0/6.4.0/plugin > mkdir = /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-unk= nown-freebsd12.0/6.4.0/plugin/include > mkdir = /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-unk= nown-freebsd12.0/6.4.0/plugin/include/cp > install -m 0644 = /wrkdirs/usr/ports/devel/amd64-gcc/work/gcc-6.4.0/gcc/cp/cxx-pretty-print.= h = /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-unk= nown-freebsd12.0/6.4.0/plugin/include/cp/cxx-pretty-print.h > install -m 0644 = /wrkdirs/usr/ports/devel/amd64-gcc/work/gcc-6.4.0/gcc/cp/name-lookup.h = /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-unk= nown-freebsd12.0/6.4.0/plugin/include/cp/name-lookup.h > install -m 0644 = /wrkdirs/usr/ports/devel/amd64-gcc/work/gcc-6.4.0/gcc/cp/type-utils.h = /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-unk= nown-freebsd12.0/6.4.0/plugin/include/cp/type-utils.h > rm -f tmp-header-vars > echo USER_H=3Dtgmath.h mm_malloc.h >> tmp-header-vars; echo = HASHTAB_H=3Dhashtab.h >> tmp-header-vars; echo OBSTACK_H=3Dobstack.h >> = tmp-header-vars; . . . echo GTFILES_LANG_H=3Dgtype-ada.h gtype-c.h = gtype-cp.h gtype-fortran.h gtype-go.h gtype-java.h gtype-jit.h = gtype-lto.h gtype-objc.h gtype-objcp.h >> tmp-header-vars; \ > /bin/sh = /wrkdirs/usr/ports/devel/amd64-gcc/work/gcc-6.4.0/gcc/../move-if-change = tmp-header-vars b-header-vars > echo timestamp > s-header-vars > /bin/sh = /wrkdirs/usr/ports/devel/amd64-gcc/work/gcc-6.4.0/gcc/../mkinstalldirs = /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-unk= nown-freebsd12.0/6.4.0/plugin > install -m 0644 gtype.state = /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-unk= nown-freebsd12.0/6.4.0/plugin/gtype.state > /bin/sh = /wrkdirs/usr/ports/devel/amd64-gcc/work/gcc-6.4.0/gcc/../mkinstalldirs = /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/libexec/gcc/x86_64= -unknown-freebsd12.0/6.4.0/plugin > mkdir = /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/libexec/gcc/x86_64= -unknown-freebsd12.0/6.4.0/plugin > install -s -m 555 gengtype = /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/libexec/gcc/x86_64= -unknown-freebsd12.0/6.4.0/plugin/gengtype > /bin/sh = /wrkdirs/usr/ports/devel/amd64-gcc/work/gcc-6.4.0/gcc/../mkinstalldirs = /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-unk= nown-freebsd12.0/6.4.0/plugin/include > headers=3D`echo tree.h tree-core.h coretypes.h all-tree.def tree.def = c-family/c-common.def = /wrkdirs/usr/ports/devel/amd64-gcc/work/gcc-6.4.0/gcc/ada/gcc-interface/ad= a-tree.def = /wrkdirs/usr/ports/devel/amd64-gcc/work/gcc-6.4.0/gcc/cp/cp-tree.def . . = . > . . . >=20 >=20 > I'll note that CONFIGURATION_TARGET in /usr/ports/Mk/bsd.port.mk is = based > on: >=20 > # Get the architecture > .if !defined(ARCH) > ARCH!=3D ${UNAME} -p > .endif > HOSTARCH:=3D ${ARCH} > .if defined(CROSS_TOOLCHAIN) > ARCH=3D ${CROSS_TOOLCHAIN:C,-.*$,,} > .endif > _EXPORTED_VARS+=3D ARCH > . . . > CONFIGURE_TARGET?=3D ${HOSTARCH}-portbld-${OPSYS:tl}${OSREL} > CONFIGURE_TARGET:=3D ${CONFIGURE_TARGET:S/--build=3D//} >=20 >=20 > It would seem that there is: >=20 > A) The HOSTARCH that is building the cross compiler. > B) The execution environment for the built cross compiler (ARCH). > (HOSTARCH=3DARCH is possible as a limiting condition but it > is when they are not equal that determines which to use where.) > C) The environment for the code generated by the cross compiler > (TARGETARCH in devel/*-gcc ). (Similar equality vs. inequality > points here.) >=20 > If true for (A-C): in devel/powerpc64-gcc and its: >=20 > .if ${???} =3D=3D "amd64" > CONFIGURE_TARGET=3D x86_64-unknown-${OPSYS:tl}${OSREL} > .else > CONFIGURE_TARGET=3D ${???}-unknown-${OPSYS:tl}${OSREL} > .endif >=20 > which of HOSTARCH, ARCH, or TARGETARCH should each ??? be? > (HOSTARCH does not seem to be exported from bsd.port.mk > but conceptually . . .) No combination of ARCH and/or > TARGETARCH would match HOSTARCH for both ???'s. Looks like the FreeBSD naming and the GCC naming are mismatched, quoting https://gcc.gnu.org/onlinedocs/gccint/Configure-Terms.html : QUOTE There are three system names that the build knows about: the machine you = are building on (build), the machine that you are building for (host), = and the machine that GCC will produce code for (target). When you = configure GCC, you specify these with --build=3D, --host=3D, and = --target=3D. END QUOTE If I read that right, mixing the two contexts goes something like: (Ignoring suffix text and amd64 vs. x86_64 name translations.) --build=3D${HOSTARCH} --host=3D${ARCH} --target=3D${TARGETARCH} (HOSTARCH vs. --host is a likely source for confusions.) If right, then the answer to my earlier question would be: ???=3DHOSTARCH since CONFIGURE_TARGET is used with --build in some contexts. (As stands HOSTARCH=3DARCH seems to be required but I was after the more conceptual classification.) Earlier I probably should have shown the code: .if defined(CROSS_TOOLCHAIN) CROSS_HOST=3D = ${ARCH:S/amd64/x86_64/}-unknown-${OPSYS:tl}${OSREL} CONFIGURE_ARGS+=3D --host=3D${CROSS_HOST} .endif as well. Hmm. Looking I see: if [ -z "`${CONFIGURE_CMD} --version 2>&1 | ${EGREP} -i = '(autoconf.*2\.13|Unrecognized option)'`" ]; then \ _LATE_CONFIGURE_ARGS=3D"$${_LATE_CONFIGURE_ARGS} = --build=3D${CONFIGURE_TARGET}" ; \ else \ _LATE_CONFIGURE_ARGS=3D"$${_LATE_CONFIGURE_ARGS} = ${CONFIGURE_TARGET}" ; \ fi ; but 2.13 is rather old and the description for the other clause (no = --build=3D) says: ( https://www.gnu.org/software/autoconf/manual/autoconf.html says . . . = ) QUOTE For backward compatibility, configure accepts a system type as an option = by itself. Such an option overrides the defaults for build, host, and = target system types. The following configure statement configures a = cross toolchain that runs on NetBSD/alpha but generates code for GNU = Hurd/sparc, which is also the build platform. ./configure --host=3Dalpha-netbsd sparc-gnu In Autoconf 2.13 and before, the variables build, host, and target had a = different semantics before and after the invocation of = AC_CANONICAL_BUILD etc. Now, the argument of --build is strictly copied = into build_alias, and is left empty otherwise. After the = AC_CANONICAL_BUILD, build is set to the canonicalized build type. To = ease the transition, before, its contents is the same as that of = build_alias. Do not rely on this broken feature. For consistency with the backward compatibility scheme exposed above, = when --host is specified but --build isn't, the build system is assumed = to be the same as --host, and =E2=80=98build_alias=E2=80=99 is set to = that value. Eventually, this historically incorrect behavior will go = away. END QUOTE Messy. =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?57B1EBC3-1586-4495-9C1E-0560D4EDF328>