powerpc64 example, base/binutils presence vs. devel/powerpc64-gcc build failure: "phase: build-depends" confused then gcc config aborts build

Mark Millard marklmi at yahoo.com
Fri Oct 12 13:51:57 UTC 2018


The following is from attempting to build devel/powerpc-gcc
via poudriere-devel on the powerpc64 system after having
bootstrapped via (in part) base/binutils and the .txz
produced on the host (amd64).

Looks like having both:

/usr/bin/powerpc64-unknown-freebsd12.0-*
and:
/usr/local/bin/powerpc64-unknown-freebsd12.0-*

in a powerpc64 environment confuses "phase: build-depends"
in poudriere for the devel/powerpc64-gcc build:

=======================<phase: build-depends  >============================
===>   powerpc64-gcc-6.4.0_2 depends on executable: powerpc64-unknown-freebsd12.0-as - found

I.e., poudriere finds /usr/bin/powerpc64-unknown-freebsd12.0-as
and concludes that devel/powerpc64-binutils does not need to be
installed for the devel/powerpc64-gcc to build.

Eventually this leads to aborting based on gcc's config noticing
an oddity:

. . .
checking for ld used by GCC... /usr/bin/powerpc64-unknown-freebsd12.0-ld
checking if the linker (/usr/bin/powerpc64-unknown-freebsd12.0-ld) is GNU ld... yes
configure: error: cannot execute: /usr/local/bin/powerpc64-unknown-freebsd12.0-ld: check --with-ld or env. var. DEFAULT_LINKER


This is associated with:

CONFIGURE_ARGS+=--target=${GCC_TARGET} --disable-nls --enable-languages=c,c++ \
                --enable-gnu-indirect-function \
                --without-headers \
                --with-gmp=${LOCALBASE} \
                --with-pkgversion="FreeBSD Ports Collection for ${PKGNAMEPREFIX:C/-//g}" \
                --with-system-zlib \
                --with-gxx-include-dir=/usr/include/c++/v1/ \
                --with-sysroot="/" \
                --with-as=${LOCALBASE}/bin/${BU_PREFIX}-as \
                --with-ld=${LOCALBASE}/bin/${BU_PREFIX}-ld

having the --with-ld not list the */bin/${BU_PREFIX}-ld it actually
finds and tests in config ( /usr used instead of ${LOCALBASE} ).


If any other port binds to devel/powerpc64-binutils it probably
has the same sort of issue. (Unlikely?)

This is not likely to be specific to powerpc64 as a base/binutils
target: powerpc64 is likely just an example.

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



More information about the freebsd-toolchain mailing list