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>