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>