Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 29 Jun 2017 18:21:50 -0700
From:      Mark Millard <markmi@dsl-only.net>
To:        Ed Maste <emaste@freebsd.org>
Cc:        Bryan Drewery <bdrewery@FreeBSD.org>, FreeBSD Toolchain <freebsd-toolchain@freebsd.org>, FreeBSD PowerPC ML <freebsd-ppc@freebsd.org>
Subject:   Re: head -r320458 (e.g.) amd64 -> powerpc64 cross build's install32 during installworld: /usr/src/share/mk/bsd.linker.mk tried to use "head" when PATH provided no access (head is missing)
Message-ID:  <AF2592BC-2409-4B73-A8A8-50C999957231@dsl-only.net>
In-Reply-To: <0E42D991-D350-4DC1-A683-CEA506167520@dsl-only.net>
References:  <0E42D991-D350-4DC1-A683-CEA506167520@dsl-only.net>

next in thread | previous in thread | raw e-mail | index | archive | help
[I found where the tools are listed that are copied,
the list that is missing head.]

On 2017-Jun-29, at 3:33 PM, Mark Millard <markmi@dsl-only.net> wrote:

> [This is a clang targetting powerpc64 context from my
> experimentation efforts, not the normal gcc 4.2.1 context
> for powerpc64.]
>=20
> I break out the PATH into lines below to make it easier to scan.
> See the later "sh: head: not found" line and the even later ls
> of the directory with the x86-64 program directory in use: no
> "head" is present to find.
>=20
> --- install32 ---
> cd /usr/src/lib; MACHINE=3Dpowerpc MACHINE_ARCH=3Dpowerpc =
MAKEOBJDIRPREFIX=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerp=
c64/usr/src/world32
> =
PATH=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/=
tmp/legacy/usr/sbin
> =
:/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/tmp/le=
gacy/usr/bin
> =
:/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/tmp/le=
gacy/bin
> =
:/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/tmp/us=
r/sbin
> =
:/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/tmp/us=
r/bin
> =
:/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/tmp/le=
gacy/usr/sbin
> =
:/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/tmp/le=
gacy/usr/bin
> =
:/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/tmp/le=
gacy/bin
> =
:/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/tmp/us=
r/sbin
> =
:/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/tmp/us=
r/bin
> :/tmp/install.7ljKosWa
> =
SYSROOT=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/s=
rc/lib32 LIBDIR=3D/usr/lib32 SHLIBDIR=3D/usr/lib32 DTRACE=3D"dtrace" =
make LD=3D"/usr/local/powerpc64-freebsd/bin/ld -m elf32ppc_fbsd" =
OBJCOPY=3D"/usr/local/powerpc64-freebsd/bin/objcopy" =
NM=3D"/usr/local/powerpc64-freebsd/bin/nm" -DCOMPAT_32BIT CC=3D"cc =
-target powerpc64-unknown-freebsd12.0 =
--sysroot=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr=
/src/tmp -B/usr/local/powerpc64-freebsd/bin/ -DCOMPAT_32BIT =
-mcpu=3Dpowerpc -m32  =
-L/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/lib32=
/usr/lib32  =
--sysroot=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr=
/src/lib32  -B/usr/local/powerpc64-freebsd/bin/ =
-B/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/lib32=
/usr/lib32" CXX=3D"c++  -target powerpc64-unknown-freebsd12.0 =
--sysroot=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr=
/src/tmp -B/usr/local/powerpc64-freebsd/bin/  -DCOMPAT_32BIT =
-mcpu=3Dpowerpc -m32  -L/
> =
usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/lib32/us=
r/lib32  =
--sysroot=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr=
/src/lib32  -B/usr/local/powerpc64-freebsd/bin/ =
-B/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/lib32=
/usr/lib32" CPP=3D"cpp -target powerpc64-unknown-freebsd12.0 =
--sysroot=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr=
/src/tmp -B/usr/local/powerpc64-freebsd/bin/ -DCOMPAT_32BIT =
-mcpu=3Dpowerpc -m32  =
-L/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/lib32=
/usr/lib32  =
--sysroot=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr=
/src/lib32  -B/usr/local/powerpc64-freebsd/bin/ =
-B/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/lib32=
/usr/lib32" -DNO_CPU_CFLAGS MK_CTF=3Dno -DNO_LINT MK_TESTS=3Dno =
MK_MAN=3Dno MK_HTML=3Dno  MK_TOOLCHAIN=3Dno   -DLIBRARIES_ONLY install
> sh: head: not found
> make[4]: "/usr/src/share/mk/bsd.linker.mk" line 47: Unable to =
determine linker type from XLD=3D/usr/local/powerpc64-freebsd/bin/ld
> *** [install32] Error code 1
>=20
> # ls -lT /tmp/install.7ljKosWa/
> total 6151
> -r-xr-xr-x    1 root  wheel    12592 Jun 29 14:02:46 2017 [
> -r-xr-xr-x    1 root  wheel   207320 Jun 29 14:02:46 2017 awk
> -r-xr-xr-x    1 root  wheel     8456 Jun 29 14:02:46 2017 cap_mkdb
> -r-xr-xr-x    1 root  wheel    13272 Jun 29 14:02:46 2017 cat
> . . .
> -r-xr-xr-x    1 root  wheel    57632 Jun 29 14:02:46 2017 find
> -r-xr-xr-x    1 root  wheel    99064 Jun 29 14:02:46 2017 grep
> -r-xr-xr-x    1 root  wheel    13360 Jun 29 14:02:46 2017 id
> . . .
>=20
> So there is no "head" to find. Below uses "find" instead
> to confirm the x86-64 ELF status:
>=20
> # file /tmp/install.7ljKosWa/find
> /tmp/install.7ljKosWa/find: ELF 64-bit LSB executable, x86-64, version =
1 (FreeBSD), dynamically linked, interpreter /libexec/ld-elf.so.1, for =
FreeBSD 12.0 (1200036), FreeBSD-style, stripped
>=20
>=20
>=20
> =46rom /usr/src/share/mk/bsd.linker.mk :
>=20
> .if ${ld} =3D=3D "LD" || (${ld} =3D=3D "XLD" && ${XLD} !=3D ${LD})
> .if !defined(${X_}LINKER_TYPE) || !defined(${X_}LINKER_VERSION)
> _ld_version!=3D   ${${ld}} --version 2>/dev/null | head -n 1 || echo =
none
> .if ${_ld_version} =3D=3D "none"
> .error Unable to determine linker type from ${ld}=3D${${ld}}
> .endif
>=20
>=20
> Trying the failing line interactively (no PATH
> like above though):
>=20
> # /usr/local/powerpc64-freebsd/bin/ld --version 2>/dev/null | head -n =
1 || echo none
> GNU ld (GNU Binutils) 2.28
>=20
> So /tmp/install.7ljKosWa/ just needed a copy of head
> in addition to what it already had.

In /usr/src/Makefile.inc1 :

ITOOLS=3D [ awk cap_mkdb cat chflags chmod chown cmp cp \
        date echo egrep find grep id install ${_install-info} \
        ln make mkdir mtree mv pwd_mkdb \
        rm sed services_mkdb sh strip sysctl test true uname wc =
${_zoneinfo} \
        ${LOCAL_ITOOLS}

does not list "head" as a tool.

But I can externally add it via LOCAL_ITOOLS use.


=3D=3D=3D
Mark Millard
markmi at dsl-only.net




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AF2592BC-2409-4B73-A8A8-50C999957231>