Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 29 Jul 2018 21:02:15 -0700
From:      Mark Millard <marklmi@yahoo.com>
To:        John Baldwin <jhb@FreeBSD.org>, Gerald Pfeifer <gerald@pfeifer.com>
Cc:        mat@FreeBSD.org, 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:  <73D4B099-C694-489C-AD17-89F3139058A6@yahoo.com>
In-Reply-To: <6047CF45-733C-4331-B640-4A501F48B698@yahoo.com>
References:  <3A54CD6F-FEE9-4813-97B8-76A3E619D7F4@yahoo.com> <884de41d-011e-a025-bfec-4e61b5546336@FreeBSD.org> <47AE95CB-1BD7-42DA-AA17-3EC0252FAF59@yahoo.com> <aac81a01-d9fa-703b-b1b3-577537bc8956@FreeBSD.org> <381572D9-6338-4DF4-B731-860557B2F666@yahoo.com> <CE2DB859-D47E-40D2-8B92-0FBD0913123B@yahoo.com> <6047CF45-733C-4331-B640-4A501F48B698@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
[Updating devel/powerpc64-gcc's BUILD_DEPENDS seems to have
fixed the issue. Also: Stupid of me to have typed _BOOTSTRAP
at the end of WITH<?>_BINUTILS and WITH<?>_ELFTOOLCHAIN
references. I've noted the references to avoid future
confusions.]

On 2018-Jul-29, at 6:55 PM, Mark Millard <marklmi@yahoo.com> wrote:

> [Looks like this might be objdump being available vs. not
> for the architecture doing the build of devel/powerpc64-gcc
> (or which ever *-gcc), such as via poudriere-devel: configure.ac
> and its configure produced depend on objdump for -rdynamic
> testing but devel/powerpc64-gcc and the like do not list
> appropriate build dependencies for the architecture doing the
> build. If buildworld did not include objdump that leaves only
> a port to supply it and a path would need to be set up to
> find it. More evidence listed bottom-posted.]
>=20
> On 2018-Jul-29, at 5:22 PM, Mark Millard <marklmi at yahoo.com> wrote:
>=20
>> [In my poudriere-devel enviroment configure is deciding: =
enable_plugin=3D'no' .]
>>=20
>> On 2018-Jul-29, at 10:51 AM, Mark Millard <marklmi at yahoo.com> =
wrote:
>>=20
>>> On 2018-Jul-29, at 8:42 AM, John Baldwin <jhb at FreeBSD.org> wrote:
>>>=20
>>>> On 7/28/18 9:39 AM, Mark Millard wrote:
>>>>> [Older directions of investigation omitted.]
>>>>>=20
>>>>> 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
>>>>> I reverted -r475361 and started a poudriere-devel based build
>>>>> to test if it is contributing to the above. I'll report back
>>>>> later.
>>>>>=20
>>>>> This was:
>>>>>=20
>>>>> Author: mat
>>>>> Date: Thu Jul 26 11:09:46 2018
>>>>> New Revision: 475361
>>>>> URL:=20
>>>>> https://svnweb.freebsd.org/changeset/ports/475361
>>>>>=20
>>>>>=20
>>>>> Log:
>>>>> Extract PLIST_SUB substitutions into a sed script.
>>>>>=20
>>>>> This fixes PLIST_SUB being too big and PLIST_SUB_SED getting =
bigger than
>>>>> _POSIX2_LINE_MAX.
>>>>>=20
>>>>> PR:		222355
>>>>> Reported by:	asomers
>>>>> Reviewed by:	asomers, mfechner
>>>>> Sponsored by:	Absolight
>>>>> Differential Revision:	=20
>>>>> https://reviews.freebsd.org/D14014
>>>>>=20
>>>>>=20
>>>>> Modified:
>>>>> head/Mk/Scripts/check-stagedir.sh   (contents, props changed)
>>>>> head/Mk/Scripts/check_leftovers.sh   (contents, props changed)
>>>>> head/Mk/Scripts/plist_sub_sed_sort.sh   (contents, props changed)
>>>>>=20
>>>>> # svnlite update -r475360 /usr/ports/Mk/Scripts/check-stagedir.sh =
/usr/ports/Mk/Scripts/check_leftovers.sh =
/usr/ports/Mk/Scripts/plist_sub_sed_sort.sh
>>>>> Updating '/usr/ports/Mk/Scripts/check-stagedir.sh':
>>>>> U    /usr/ports/Mk/Scripts/check-stagedir.sh
>>>>> Updated to revision 475360.
>>>>> Updating '/usr/ports/Mk/Scripts/check_leftovers.sh':
>>>>> U    /usr/ports/Mk/Scripts/check_leftovers.sh
>>>>> Updated to revision 475360.
>>>>> Updating '/usr/ports/Mk/Scripts/plist_sub_sed_sort.sh':
>>>>> U    /usr/ports/Mk/Scripts/plist_sub_sed_sort.sh
>>>>> Updated to revision 475360.
>>>>> Summary of updates:
>>>>> Updated '/usr/ports/Mk/Scripts/check-stagedir.sh' to r475360.
>>>>> Updated '/usr/ports/Mk/Scripts/check_leftovers.sh' to r475360.
>>>>> Updated '/usr/ports/Mk/Scripts/plist_sub_sed_sort.sh' to r475360.
>>>>=20
>>>> FWIW, I built all of the *-gcc ports for testing my commit this =
week
>>>> and they all built fine (and have clean plists now).  I was not =
able
>>>> to reproduce the failure you saw.  All of my builds were on an =
amd64
>>>> host though.  Can you give more details on how you are building =
these
>>>> (e.g. your host architecture, your host OS version, etc.)
>>>>=20
>>>=20
>>> Currently (I've updated versions multiple times over this issue):
>>>=20
>>> # uname -apKU
>>> FreeBSD FBSDUSSD 12.0-CURRENT FreeBSD 12.0-CURRENT  r336693M  amd64 =
amd64 1200075 1200075
>>>=20
>>> The "M" is mostly for powerpc family targeted experimenting with =
modern
>>> compilers/toolchains. (But I currently do not have access to the =
powerpc
>>> family hardware.)
>>>=20
>>> amd64 FreeBSD is running under virtualbox on a macOS machine for my =
current
>>> context.
>>>=20
>>> Per other notices: I've no problems building the 3 devel/*-gcc =
compilers
>>> that I use via portmaster (other things installed from pkg first, =
using
>>> my poudriere-devel builds to populate what pkg uses, so that only =
the
>>> compilers build via portmaster).
>>>=20
>>> So it appears something is odd in my poudriere-devel context despite =
only
>>> those 3 ports having observed build problems.
>>>=20
>>> # poudriere jail -l
>>> JAILNAME     VERSION      ARCH  METHOD TIMESTAMP           PATH
>>> FBSDFSSDjail 12.0-CURRENT amd64 null   2017-11-22 10:15:15 =
/usr/obj/DESTDIRs/clang-amd64-installworld-poud
>>>=20
>>> poudriere-devel is using /usr/src (the same source my system is =
built
>>> from). I install /usr/obj/DESTDIRs/clang-amd64-installworld-poud via
>>> the following each time I update FreeBSD versions:
>>>=20
>>> -j4 installworld distrib-dirs distribution DB_FROM_SRC=3D1 =
DESTDIR=3D/usr/obj/DESTDIRs/clang-amd64-installworld-poud
>>>=20
>>> I do so from the same buildworld result that I install for what I
>>> boot in virtualbox.
>>>=20
>>> A similar point goes for /usr/ports: poudriere-devel is using
>>> what the booted system is using.
>>>=20
>>> So both the portmaster and the poudriere-devel attempts are based on =
the
>>> same buildworld and the same /usr/ports content.
>>>=20
>>> As of yet I've no clue what might be technically contributing to =
what
>>> happens in the poudriere-devel based builds of the devel/*-gcc
>>> compilers vs. portmaster.
>>=20
>> Comparing my work/.build/config.log files from poudriere-devel vs.
>> portmaster build attempts shows (among other differences):
>>=20
>> diff -u =
/wrkdirs/usr/ports/devel/powerpc64-gcc-poud-failure/work/.build/config.log=
 /wrkdirs/usr/ports/devel/powerpc64-gcc/work/.build/config.logs | more
>> . . .=20
>> configure:29237: checking for -rdynamic
>> -configure:29247: result: no
>> +configure:29247: result: yes
>> . . .
>> -enable_plugin=3D'no'
>> +enable_plugin=3D'yes'
>> . . .
>> -pluginlibs=3D''
>> +pluginlibs=3D'-rdynamic'
>> . . .
>>=20
>> So I've traced it back a ways so far.
>=20
> =
/wrkdirs/usr/ports/devel/powerpc64-gcc-poud-failure/work/gcc-6.4.0/config/=
gcc-plugin.m4
> has:
>=20
>   if test x"$enable_plugin" =3D x"yes"; then
>=20
>     AC_MSG_CHECKING([for exported symbols])
>     if test "x$export_sym_check" !=3D x; then
>       echo "int main() {return 0;} int foobar() {return 0;}" > =
conftest.c
>       ${CC} ${CFLAGS} ${LDFLAGS} conftest.c -o conftest$ac_exeext > =
/dev/null 2>&1
>       if $export_sym_check conftest$ac_exeext | grep -q foobar > =
/dev/null; then
>         : # No need to use a flag
>         AC_MSG_RESULT([yes])
>       else
>         AC_MSG_RESULT([yes])
>         AC_MSG_CHECKING([for -rdynamic])
>         ${CC} ${CFLAGS} ${LDFLAGS} -rdynamic conftest.c -o =
conftest$ac_exeext > /dev/null 2>&1
>         if $export_sym_check conftest$ac_exeext | grep -q foobar > =
/dev/null; then
>           plugin_rdynamic=3Dyes
>           pluginlibs=3D"-rdynamic"
>         else
>           plugin_rdynamic=3Dno
>           enable_plugin=3Dno
>         fi
>         AC_MSG_RESULT([$plugin_rdynamic])
>       fi
>     else
>       AC_MSG_RESULT([unable to check])
>     fi
> . . .
>=20
> The matching =
/wrkdirs/usr/ports/devel/powerpc64-gcc-poud-failure/work/gcc-6.4.0/gcc/con=
figure
> has:
>=20
>   if test x"$enable_plugin" =3D x"yes"; then
>=20
>     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for exported =
symbols" >&5
> $as_echo_n "checking for exported symbols... " >&6; }
>     if test "x$export_sym_check" !=3D x; then
>       echo "int main() {return 0;} int foobar() {return 0;}" > =
conftest.c
>       ${CC} ${CFLAGS} ${LDFLAGS} conftest.c -o conftest$ac_exeext > =
/dev/null 2>&1
>       if $export_sym_check conftest$ac_exeext | grep -q foobar > =
/dev/null; then
>         : # No need to use a flag
>         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
> $as_echo "yes" >&6; }
>       else
>         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
> $as_echo "yes" >&6; }
>         { $as_echo "$as_me:${as_lineno-$LINENO}: checking for =
-rdynamic" >&5
> $as_echo_n "checking for -rdynamic... " >&6; }
>         ${CC} ${CFLAGS} ${LDFLAGS} -rdynamic conftest.c -o =
conftest$ac_exeext > /dev/null 2>&1
>         if $export_sym_check conftest$ac_exeext | grep -q foobar > =
/dev/null; then
>           plugin_rdynamic=3Dyes
>           pluginlibs=3D"-rdynamic"
>         else
>           plugin_rdynamic=3Dno
>           enable_plugin=3Dno
>         fi
>         { $as_echo "$as_me:${as_lineno-$LINENO}: result: =
$plugin_rdynamic" >&5
> $as_echo "$plugin_rdynamic" >&6; }
>       fi
>     else
>       { $as_echo "$as_me:${as_lineno-$LINENO}: result: unable to =
check" >&5
> $as_echo "unable to check" >&6; }
>     fi
> . . .
>=20
> So it appears that:
>=20
>         ${CC} ${CFLAGS} ${LDFLAGS} -rdynamic conftest.c -o =
conftest$ac_exeext > /dev/null 2>&1
>         if $export_sym_check conftest$ac_exeext | grep -q foobar > =
/dev/null; then
> . . .
>=20
> does not agree between the poudriere-devel vs. portmaster build =
contexts
> for my environment.
>=20
> It looks like configure uses objdump (without a path-prefix) for
> export_sym_check :
>=20
>   case "${host}" in
>     *-*-darwin*)
>       if test x$build =3D x$host; then
>         export_sym_check=3D"nm${exeext} -g"
>       elif test x$host =3D x$target; then
>         export_sym_check=3D"$gcc_cv_nm -g"
>       else
>         export_sym_check=3D
>       fi
>     ;;
>     *)
>       if test x$build =3D x$host; then
>         export_sym_check=3D"objdump${exeext} -T"
>       elif test x$host =3D x$target; then
>         export_sym_check=3D"$gcc_cv_objdump -T"
>       else
>         export_sym_check=3D
>       fi
>     ;;
>   esac
>=20
> Note that this would not be the objdump from devel/powerpc64-binutils
> but one for amd64 (in my example) such as from devel/binutils or
> devel/amd64-binutils for my context.
>=20
> Note the lack of any alternative to objdump use (for build matching =
host).
>=20
> devel/binutils and/or amd64-binutils (my particular context) are not
> listed by freshports as "Build dependencies" for devel/powerpc64-gcc .
>=20
> For portmaster's use in my environment:
>=20
> # which objdump
> /usr/local/bin/objdump
>=20
> so it would find such.
>=20
> I only recently switched to using:
>=20
> WITHOUT_BINUTILS_BOOTSTRAP=3D

That should have been:

WITHOUT_BINUTILS=3D

> in by buildworld buildkernel activities, including on/for
> TARGET_ARCH=3Damd64 . Previously I had
>=20
> WITH_BINUTILS_BOOTSTRAP=3D

That should have been:

WITH_BINUTILS=3D

> explicitly (in addition to WITH_ELFTOOLCHAIN_BOOTSTRAP=3D ).

That should have been:

WITH_ELFTOOLCHAIN=3D


As for testing . . .
[This also shows a fix to what I expect is a typo.]


So far I've only tested building devel/powerpc64-gcc
and devel/aarch64-gcc but they built in poudriere-devel
after:

# svnlite diff /usr/ports/devel/powerpc64-gcc/Makefile
Index: /usr/ports/devel/powerpc64-gcc/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
--- /usr/ports/devel/powerpc64-gcc/Makefile	(revision 475470)
+++ /usr/ports/devel/powerpc64-gcc/Makefile	(working copy)
@@ -16,7 +16,8 @@
 LIB_DEPENDS=3D	libgmp.so:math/gmp \
 		libmpfr.so:math/mpfr \
 		libmpc.so:math/mpc
-BUILD_DEPENDS=3D	${BU_PREFIX}-as:devel/${PKGNAMEPREFIX}binutils
+BUILD_DEPENDS=3D	${BU_PREFIX}-as:devel/${PKGNAMEPREFIX}binutils \
+		objdump:devel/binutils
 RUN_DEPENDS=3D	${BU_PREFIX}-as:devel/${PKGNAMEPREFIX}binutils
=20
 USES=3D	gmake iconv libtool tar:xz makeinfo compiler
@@ -108,11 +109,11 @@
 .endif
 .if ${TARGETARCH} =3D=3D "amd64" || ${TARGETARCH} =3D=3D "i386"
 	# Conflicts with sys/x86/include/float.h
-	${RM} =
${STAGEDIR}${PREFIX}/lib/gcc/${GCC_TARGET$}/${PORTVERSION}/include/float.h=

+	${RM} =
${STAGEDIR}${PREFIX}/lib/gcc/${GCC_TARGET}/${PORTVERSION}/include/float.h
 .endif
=20
 # This port and all its slave ports fail on aarch64 -- but not all



Note: Various other autoconfig .ac files for various ports
might also make assumptions about some binutils for the
building archteiture, assumptions that various FreeBSD
architectures need not automatically provide for: ones for
which WITHOUT_BINUTILS=3D can be used.

For all I know there could be contexts for devel/*-gcc
that have other such binutils use.

The historical typical-inclusion of binutils in the system
has masked such dependencies before this.

Do the package builders guarantee that either the system
binutils or devel/binutils is present, with the tools found
by the path configuration in use? If so, then they are not
well testing port build-time dependencies.

I'll try devel/amd64-gcc in poudreire-devel .

=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?73D4B099-C694-489C-AD17-89F3139058A6>