Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 15 Aug 2019 19:00:08 -0700
From:      Mark Millard <marklmi@yahoo.com>
To:        freebsd-toolchain@freebsd.org, freebsd-ppc@freebsd.org
Subject:   My 1st head -r351102 amd64->powerpc64 cross-build via devel/llvm90 failed, but it may be just operator error
Message-ID:  <513C4533-CBC2-4DDC-A3B8-458120854CD6@yahoo.com>

next in thread | raw e-mail | index | archive | help

My first attempt to cross buildworld buildkernel amd64->powerpc64
via devel/llvm90 without involving devel/powerpc64-binutils (or
other such) failed with:

--- gnu/lib/libssp/libssp_nonshared__PL ---
/usr/local/llvm90/bin/llvm-ranlib: error: Exactly one archive should be =
specified.

OVERVIEW: LLVM Ranlib (llvm-ranlib)

  This program generates an index to speed access to archives

USAGE: llvm-ranlib <archive-file>

OPTIONS:
  -help                             - Display available options
  -version                          - Display the version of this =
program
*** [libssp_nonshared.a] Error code 1
make[4]: *** libssp_nonshared.a removed

make[4]: stopped in /usr/src/gnu/lib/libssp/libssp_nonshared
.ERROR_TARGET=3D'libssp_nonshared.a'
=
.ERROR_META_FILE=3D'/usr/obj/powerpc64vtsc_xtoolchain-llvm/powerpc.powerpc=
64/usr/src/powerpc.powerpc64/gnu/lib/libssp/libssp_nonshared/libssp_nonsha=
red.a.meta'
.MAKE.LEVEL=3D'4'
MAKEFILE=3D''
.MAKE.MODE=3D'meta missing-filemon=3Dyes missing-meta=3Dyes silent=3Dyes =
verbose'
_ERROR_CMD=3D'@echo building static ssp_nonshared library; @rm -f =
libssp_nonshared.a; /usr/local/llvm90/bin/llvm-ar -crD =
libssp_nonshared.a `NM=3D'/usr/local/llvm90/bin/llvm-nm' NMFLAGS=3D''  =
lorder ssp-local.o  | tsort -q` ; /usr/local/llvm90/bin/llvm-ranlib -D =
libssp_nonshared.a;'
.CURDIR=3D'/usr/src/gnu/lib/libssp/libssp_nonshared'
.MAKE=3D'make'
=
.OBJDIR=3D'/usr/obj/powerpc64vtsc_xtoolchain-llvm/powerpc.powerpc64/usr/sr=
c/powerpc.powerpc64/gnu/lib/libssp/libssp_nonshared'
.TARGETS=3D'all'
=
DESTDIR=3D'/usr/obj/powerpc64vtsc_xtoolchain-llvm/powerpc.powerpc64/usr/sr=
c/powerpc.powerpc64/tmp'
LD_LIBRARY_PATH=3D''
MACHINE=3D'powerpc'
MACHINE_ARCH=3D'powerpc64'
MAKEOBJDIRPREFIX=3D''
MAKESYSPATH=3D'/usr/src/share/mk'
MAKE_VERSION=3D'20181221'
=
PATH=3D'/usr/obj/powerpc64vtsc_xtoolchain-llvm/powerpc.powerpc64/usr/src/p=
owerpc.powerpc64/tmp/usr/sbin:/usr/obj/powerpc64vtsc_xtoolchain-llvm/power=
pc.powerpc64/usr/src/powerpc.powerpc64/tmp/usr/bin:/usr/obj/powerpc64vtsc_=
xtoolchain-llvm/powerpc.powerpc64/usr/src/powerpc.powerpc64/tmp/legacy/usr=
/sbin:/usr/obj/powerpc64vtsc_xtoolchain-llvm/powerpc.powerpc64/usr/src/pow=
erpc.powerpc64/tmp/legacy/usr/bin:/usr/obj/powerpc64vtsc_xtoolchain-llvm/p=
owerpc.powerpc64/usr/src/powerpc.powerpc64/tmp/legacy/bin::/sbin:/bin:/usr=
/sbin:/usr/bin'
SRCTOP=3D'/usr/src'
=
OBJTOP=3D'/usr/obj/powerpc64vtsc_xtoolchain-llvm/powerpc.powerpc64/usr/src=
/powerpc.powerpc64'
.MAKE.MAKEFILES=3D'/usr/src/share/mk/sys.mk =
/usr/src/share/mk/local.sys.env.mk /usr/src/share/mk/src.sys.env.mk =
/root/src.configs/src.conf.powerpc64-xtoolchain-llvm.amd64-host =
/usr/src/share/mk/bsd.mkopt.mk /usr/src/share/mk/src.sys.obj.mk =
/usr/src/share/mk/auto.obj.mk /usr/src/share/mk/bsd.suffixes.mk =
/root/src.configs/make.conf /usr/src/share/mk/local.sys.mk =
/usr/src/share/mk/src.sys.mk /dev/null =
/usr/src/gnu/lib/libssp/libssp_nonshared/Makefile =
/usr/src/share/mk/bsd.lib.mk /usr/src/share/mk/bsd.init.mk =
/usr/src/share/mk/bsd.opts.mk /usr/src/share/mk/bsd.cpu.mk =
/usr/src/share/mk/local.init.mk /usr/src/share/mk/src.init.mk =
/usr/src/share/mk/bsd.own.mk /usr/src/share/mk/bsd.compiler.mk =
/usr/src/share/mk/bsd.linker.mk /usr/src/share/mk/bsd.linker.mk =
/usr/src/share/mk/bsd.libnames.mk /usr/src/share/mk/src.libnames.mk =
/usr/src/share/mk/src.opts.mk /usr/src/share/mk/bsd.symver.mk =
/usr/src/share/mk/bsd.nls.mk /usr/src/share/mk/bsd.confs.mk =
/usr/src/share/mk/bsd.files.mk /usr/src/share/mk/bsd.dirs.mk =
/usr/src/share/mk/bsd.incs.mk /usr/src/share/mk/bsd.links.mk =
/usr/src/share/mk/bsd.dep.mk /usr/src/share/mk/bsd.clang-analyze.mk =
/usr/src/share/mk/bsd.obj.mk /usr/src/share/mk/bsd.subdir.mk =
/usr/src/share/mk/bsd.sys.mk'
.PATH=3D'. /usr/src/gnu/lib/libssp/libssp_nonshared =
/usr/src/contrib/gcclibs/libssp /usr/src/contrib/gcclibs/libssp/ssp'
1 error


This was based on head -r351102 trying to cross-build itself and
on using:

# more ~/src.configs/src.conf.powerpc64-xtoolchain-llvm.amd64-host=20
TO_TYPE=3Dpowerpc64
LLVM_VINTAGE=3Dllvm90
#
KERNCONF=3DGENERIC64vtsc-NODBG
TARGET=3Dpowerpc
.if ${.MAKE.LEVEL} =3D=3D 0
TARGET_ARCH=3D${TO_TYPE}
.export TARGET_ARCH
.endif
#
WITHOUT_CROSS_COMPILER=3D
WITHOUT_SYSTEM_COMPILER=3D
WITHOUT_SYSTEM_LINKER=3D
#
WITH_LLVM_LIBUNWIND=3D
WITH_LIBCPLUSPLUS=3D
WITHOUT_LLD_BOOTSTRAP=3D
WITHOUT_BINUTILS_BOOTSTRAP=3D
WITHOUT_ELFTOOLCHAIN_BOOTSTRAP=3D
WITHOUT_LLVM_TARGET_ALL=3D
WITHOUT_CLANG_BOOTSTRAP=3D
WITH_CLANG=3D
WITH_CLANG_IS_CC=3D
WITH_CLANG_FULL=3D
WITH_CLANG_EXTRAS=3D
WITH_LLD=3D
WITH_LLD_IS_LD=3D
WITHOUT_BINUTILS=3D
WITHOUT_PORT_BASE_BINUTILS=3D
WITH_LLDB=3D
#
WITH_BOOT=3D
WITH_LIB32=3D
#
LOADER_DEFAULT_INTERP=3D4th
#
WITHOUT_GCC_BOOTSTRAP=3D
WITHOUT_GCC=3D
WITHOUT_GCC_IS_CC=3D
WITHOUT_GNUCXX=3D
#
NO_WERROR=3D
#
# Avoid build aborting for the likes of, for example,
# sign mismatch errors for integer types. Avoids:
#  [-Werror,-Wpointer-sign]
#
WERROR=3D
MALLOC_PRODUCTION=3D
#
# Avoid stripping but do not control host -g status as well:
DEBUG_FLAGS+=3D
#
WITH_REPRODUCIBLE_BUILD=3D
WITH_DEBUG_FILES=3D
#
#
# For TO (so-called "cross") stages . . .
#
CROSS_TOOLCHAIN=3D${LLVM_VINTAGE}
#X_COMPILER_TYPE=3Dclang
CROSS_BINUTILS_PREFIX=3D/usr/local/${LLVM_VINTAGE}/bin/
.if ${.MAKE.LEVEL} =3D=3D 0
XCC=3D/usr/local/bin/clang90
XCXX=3D/usr/local/bin/clang++90
XCPP=3D/usr/local/bin/clang-cpp90
.export XCC
.export XCXX
.export XCPP
XAS=3D/usr/local/${LLVM_VINTAGE}/bin/llvm-as
XAR=3D/usr/local/${LLVM_VINTAGE}/bin/llvm-ar
XLD=3D/usr/local/${LLVM_VINTAGE}/bin/ld
XNM=3D/usr/local/${LLVM_VINTAGE}/bin/llvm-nm
XOBJCOPY=3D/usr/local/${LLVM_VINTAGE}/bin/llvm-objcopy
XOBJDUMP=3D/usr/local/${LLVM_VINTAGE}/bin/llvm-objdump
XRANLIB=3D/usr/local/${LLVM_VINTAGE}/bin/llvm-ranlib
XSIZE=3D/usr/local/${LLVM_VINTAGE}/bin/llvm-size
XSTRINGS=3D/usr/local/${LLVM_VINTAGE}/bin/llvm-strings
.export XAS
.export XAR
.export XLD
.export XNM
.export XOBJCOPY
.export XOBJDUMP
.export XRANLIB
.export XSIZE
.export XSTRINGS
.endif
#
#
# =46rom based on clang (via system). . .
#
.if ${.MAKE.LEVEL} =3D=3D 0
CC=3D/usr/bin/clang
CXX=3D/usr/bin/clang++
CPP=3D/usr/bin/clang-cpp
.export CC
.export CXX
.export CPP
.endif


It may well be that the use of some of llvm-as, llvm-ar,
llvm-nm, llvm-objcopy, llvm-objdump, llvm-ranlib,
llvm-size, and llvm-strings is not intended. But I've
not seen a description of the intent.

(My build with devel/powerpc64-binutils involved
completed just fine.)

For reference, devel/llvm90 here is based on ports head
-r509054 providing rc2 of llvm90.

=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?513C4533-CBC2-4DDC-A3B8-458120854CD6>