Building devel/powerpc64-gcc and devel/amd64-gcc and the like fail: "Unable to access file" for many files in work/stage/...

Mark Millard marklmi at yahoo.com
Sat Jul 28 10:20:17 UTC 2018



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:
> 
>> 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). . .
>>> 
>>> ===>  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/powerpc64-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/powerpc64-unknown-freebsd12.0/6.4.0/plugin/include/ada/gcc-interface/ada-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/powerpc64-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/powerpc64-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/powerpc64-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/powerpc64-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/powerpc64-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/powerpc64-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/powerpc64-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/powerpc64-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/powerpc64-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/powerpc64-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/powerpc64-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/powerpc64-unknown-freebsd12.0/6.4.0/plugin/gengtype:No such file or directory
>>> *** Error code 1
>>> 
>>> 
>>> ===>  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-unknown-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-unknown-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-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/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-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/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-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/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-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/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-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/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-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/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-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/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-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/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-unknown-freebsd12.0/6.4.0/plugin/include/auto-profile.h:No such file or directory
>>> . . .
>>> 
>>> I'll not list devel/aarch64 materials but they are similar.
>>> 
>>> 
>>> Looking around for, say, gtype.state shows the likes of:
>>> 
>>> # 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
>>> 
>>> ( Nothing in work/stage/... )
>>> 
>>> 
>>> In fact:
>>> 
>>> # ls -laTt /wrkdirs/usr/ports/devel/powerpc64-gcc/work/stage/usr/local/lib/gcc/powerpc64-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 ..
>>> 
>>> # ls -laTt /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-unknown-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 ..
>>> 
>>> # ls -laTt /wrkdirs/usr/ports/devel/powerpc64-gcc/work/stage/usr/local/libexec/gcc/powerpc64-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 ..
>>> 
>>> # 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
>>> 
>>> So no plugin paths at all. So looking . . .
>>> 
>>> # find /wrkdirs/usr/ports/devel/ -name plugin -print | more
>>> /wrkdirs/usr/ports/devel/powerpc64-gcc/work/gcc-6.4.0/libjava/classpath/native/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.dg/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/plugin
>>> /wrkdirs/usr/ports/devel/amd64-gcc/work/gcc-6.4.0/gcc/testsuite/gcc.dg/plugin
>>> /wrkdirs/usr/ports/devel/amd64-gcc/work/gcc-6.4.0/gcc/testsuite/g++.dg/plugin
>>> /wrkdirs/usr/ports/devel/amd64-gcc/work/gcc-6.4.0/gcc/testsuite/obj-c++.dg/plugin
>>> 
>>> (None of which seem to be a match.)
>>> 
>>> Picking a plugin/include/*.h file and looking for it:
>>> 
>>> lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/xcoff.h
>>> 
>>> # find /wrkdirs/usr/ports/devel/ -name xcoff.h -print | more
>>> /wrkdirs/usr/ports/devel/powerpc64-gcc/work/gcc-6.4.0/gcc/config/rs6000/xcoff.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
>>> 
>>> 
>>> Note: the devel/*-binutils builds worked fine, as did devel/gdb .
>>> ( lang/gcc8 is still rebuilding. )
>>> 
>>> Context:
>>> 
>>> # uname -apKU
>>> FreeBSD FBSDUSSD 12.0-CURRENT FreeBSD 12.0-CURRENT  r336693M  amd64 amd64 1200075 1200075
>> 
>> 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).
> 
> 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:
> 
> LANG_MAKEFRAGS =  $(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
> 
> in /wrkdirs/usr/ports/devel/amd64-gcc/work/.build/gcc/Makefile
> 
> 
> 
> For example the likes of the following are missing from the log
> file (that would be via $(srcdir)/cp/Make-lang.in ):
> 
> headers="cp-tree.h cxx-pretty-print.h name-lookup.h type-utils.h"; \
> for file in $headers; do \
>  path=/wrkdirs/usr/ports/devel/amd64-gcc/work/gcc-6.4.0/gcc/cp/$file; \
>  dest=/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=`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-unknown-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-unknown-freebsd12.0/6.4.0/plugin
> mkdir /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-unknown-freebsd12.0/6.4.0/plugin/include
> mkdir /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-unknown-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-unknown-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-unknown-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-unknown-freebsd12.0/6.4.0/plugin/include/cp/type-utils.h
> rm -f tmp-header-vars
> echo USER_H=tgmath.h mm_malloc.h >> tmp-header-vars; echo HASHTAB_H=hashtab.h >> tmp-header-vars; echo OBSTACK_H=obstack.h >> tmp-header-vars; . . . echo GTFILES_LANG_H=gtype-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-unknown-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-unknown-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-unknown-freebsd12.0/6.4.0/plugin/include
> headers=`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/ada-tree.def /wrkdirs/usr/ports/devel/amd64-gcc/work/gcc-6.4.0/gcc/cp/cp-tree.def . . .
> . . .
> 
> 
> I'll note that CONFIGURATION_TARGET in /usr/ports/Mk/bsd.port.mk is based
> on:
> 
> # Get the architecture
> .if !defined(ARCH)
> ARCH!=  ${UNAME} -p
> .endif
> HOSTARCH:=      ${ARCH}
> .if defined(CROSS_TOOLCHAIN)
> ARCH=   ${CROSS_TOOLCHAIN:C,-.*$,,}
> .endif
> _EXPORTED_VARS+=        ARCH
> . . .
> CONFIGURE_TARGET?=      ${HOSTARCH}-portbld-${OPSYS:tl}${OSREL}
> CONFIGURE_TARGET:=      ${CONFIGURE_TARGET:S/--build=//}
> 
> 
> It would seem that there is:
> 
> A) The HOSTARCH that is building the cross compiler.
> B) The execution environment for the built cross compiler (ARCH).
>   (HOSTARCH=ARCH 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.)
> 
> If true for (A-C): in devel/powerpc64-gcc and its:
> 
> .if ${???} == "amd64"
> CONFIGURE_TARGET=       x86_64-unknown-${OPSYS:tl}${OSREL}
> .else
> CONFIGURE_TARGET=       ${???}-unknown-${OPSYS:tl}${OSREL}
> .endif
> 
> 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=, --host=, and --target=.

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=${HOSTARCH}
--host=${ARCH}
--target=${TARGETARCH}

(HOSTARCH vs. --host is a likely source for confusions.)

If right, then the answer to my earlier question would be:
???=HOSTARCH since CONFIGURE_TARGET is used with --build
in some contexts. (As stands HOSTARCH=ARCH 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=             ${ARCH:S/amd64/x86_64/}-unknown-${OPSYS:tl}${OSREL}
CONFIGURE_ARGS+=        --host=${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="$${_LATE_CONFIGURE_ARGS} --build=${CONFIGURE_TARGET}" ; \
        else \
                _LATE_CONFIGURE_ARGS="$${_LATE_CONFIGURE_ARGS} ${CONFIGURE_TARGET}" ; \
        fi ;

but 2.13 is rather old and the description for the other clause (no --build=) 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=alpha-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 ‘build_alias’ is set to that value. Eventually, this historically incorrect behavior will go away.

END QUOTE

Messy.



===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)



More information about the freebsd-ports mailing list