Date: Thu, 2 Aug 2018 12:04:43 -0700 From: Mark Millard <marklmi@yahoo.com> To: John Baldwin <jhb@FreeBSD.org>, Ed Maste <emaste@freebsd.org> Cc: Gerald Pfeifer <gerald@pfeifer.com>, mat@FreeBSD.org, FreeBSD Ports <freebsd-ports@freebsd.org>, Bryan Drewery <bdrewery@FreeBSD.org> Subject: Re: Removing objdump breaks GCC configure Message-ID: <CEA44C06-9CBE-40A8-A99A-DEE02DF58703@yahoo.com> In-Reply-To: <0F5EA96D-7C2E-403C-A8D0-530D2EA4B682@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> <73D4B099-C694-489C-AD17-89F3139058A6@yahoo.com> <cf0f412b-5ee6-6543-88f8-fe05c0cd9885@FreeBSD.org> <0F5EA96D-7C2E-403C-A8D0-530D2EA4B682@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
[I also ran into the issue for sysutils/u-boot-pine64 builds in my context (WITHOUT_BINUTILS).] On 2018-Aug-1, at 3:08 PM, Mark Millard <marklmi at yahoo.com> wrote: > On 2018-Aug-1, at 1:29 PM, John Baldwin <jhb at FreeBSD.org> wrote: >=20 >> On 7/29/18 9:02 PM, Mark Millard wrote: >>>> 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 >>> # 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 >>=20 >> Context trimmed a bit, subject changed, and I've added Ed to the cc = as he's >> the one who removed objdump. It seems that GCC at least has a hidden >> dependency on objdump. Ed, were the lang/gcc* ports updated when = objdump >> was removed to list it as dependency for the plugin functionality? = If not, >> they might also need a similar fix. >=20 > devel/<?>-gcc cross compiler builds: > Cross builds required the builder's objdump and possibly the target's > too (as well as other target binutils). But for the target that is the = same > <?> in devel/<?>-binutils and devel/<?>-gcc and likely was already > covered. >=20 > (I may have missed other builder-binutil tool references but know > objdump for sure.) >=20 > When the builder architecture is also the target as part of the > port definition (all lang/gcc* ?), devel/binutils is likely already > required and then covers all objdump use as far as I can tell. >=20 > (I'm not sure if the normal package builders are omitting system > binutils yet or if they might always have devel/binutils installed.) >=20 >>> 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. >>=20 >> I believe Ed did an exp-run before disabling objdump by default (or = maybe >> that change is still pending?). I'm not sure if that exp-run would = catch >> more subtle changes like this. >=20 > My guess is that only ports with cross-build abilities might have the > "some builder binutils tool(s) needed" issue. I'm now using: # svnlite diff /usr/ports/sysutils/u-boot-master/Makefile Index: /usr/ports/sysutils/u-boot-master/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/sysutils/u-boot-master/Makefile (revision 476026) +++ /usr/ports/sysutils/u-boot-master/Makefile (working copy) @@ -21,6 +21,7 @@ dtc>=3D1.4.1:sysutils/dtc \ mkimage:sysutils/u-boot-tools BUILD_DEPENDS+=3D ${COMPILER}:devel/${COMPILER} +BUILD_DEPENDS+=3D objdump:devel/binutils =20 USES=3D bison gmake python:2.7,build shebangfix tar:bz2 BINARY_ALIAS=3D bison=3D${LOCALBASE}/bin/bison = dtc=3D${LOCALBASE}/bin/dtc sed=3Dgsed swig=3Dswig3.0 in order for sysutils/u-boot-pine64 to build in my context that is based on WITHOUT_BINUTILS . Interestingly: before this change the following built fine: sysutils/u-boot-rpi3 | u-boot-rpi3-2018.07_1 sysutils/u-boot-rpi2 | u-boot-rpi2-2018.07_1 sysutils/u-boot-sinovoip-bpi-m3 | u-boot-sinovoip-bpi-m3-2018.07_1 but sysutils/u-boot-pine64 did not. The use of some builder environment tool(s) is specific to u-boot-pine64 (of the 4 u-boot-* 's). I've not isolated the sysutils/u-boot-pine64 code that puts some builder environment tool(s) to use. So I've not formally shown root cause for this case. I submitted https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D230288 for this issue (before I showed BUILD_DEPENDS was at least a workaround). =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?CEA44C06-9CBE-40A8-A99A-DEE02DF58703>