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 08:34:07 UTC 2018


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.



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



More information about the freebsd-ports mailing list