On powerpc 11.0-CURRENT CROSS_TOOLCHAIN=powerpc64-gcc fails: clang-tblgen use attempted before it exists
Mark Millard
markmi at dsl-only.net
Thu Mar 12 19:18:57 UTC 2015
Basic context:
$ freebsd-version -ku; uname -a
11.0-CURRENT
11.0-CURRENT
FreeBSD FBSDG4C0 11.0-CURRENT FreeBSD 11.0-CURRENT #0 r279514M: Mon Mar 9 22:24:27 PDT 2015 root at FBSDG4S0:/usr/obj/usr/srcC/sys/GENERICvtsc-NODEBUG powerpc
$ svnlite info
Path: .
Working Copy Root Path: /usr/ports
URL: https://svn0.us-west.freebsd.org/ports/head
Relative URL: ^/head
Repository Root: https://svn0.us-west.freebsd.org/ports
Repository UUID: 35697150-7ecd-e111-bb59-0022644237b5
Revision: 380683
Node Kind: directory
Schedule: normal
Last Changed Author: demon
Last Changed Rev: 380683
Last Changed Date: 2015-03-07 03:31:11 -0800 (Sat, 07 Mar 2015)
I bootstrapped into 11.0-CURRENT from 10.1-STABLE but misunderstood UPDATING for the combination of starting from 10.1 on powerpc/powerpc64 and ended up without clang for both powerpc and powerpc64 before I figure that out.
While powerpc64-gcc (and so powerpc64-xtoolchain-gcc) fails to build when portmaster'd on powerpc64 it does build on powerpc.
So I portmaster'd powerpc64-xtoolchain-gcc in the powerpc (non-64) 11.0-CURRENT context to attempt a "cross" compile back to powerpc...
The problem:
(Or is the below attempt a form of abuse of powerpc64-xtoolchain-gcc?)
(Remember: no clang exists beforehand.)
For...
make CROSS_TOOLCHAIN=powerpc64-gcc toolchain KERNCONF=GENERICvtsc TARGET=powerpc TARGET_ARCH=powerpc
or
make CROSS_TOOLCHAIN=powerpc64-gcc buildworld buildkernel KERNCONF=GENERICvtsc TARGET=powerpc TARGET_ARCH=powerpc
Either way the result fails to complete by attempting to use clang-tblgen when it does not exist (yet?):
> ...
> --------------------------------------------------------------
> >>> stage 1.2: bootstrap tools
> --------------------------------------------------------------
> ...
> ===> lib/clang/libllvmx86instprinter (buildincludes)
> ===> lib/clang/libllvmx86utils (buildincludes)
> ===> lib/clang/include (buildincludes)
> clang-tblgen -gen-arm-neon -d arm_neon.d -o arm_neon.h /usr/src/lib/clang/include/../../../contrib/llvm/tools/clang/include/clang/Basic/arm_neon.td
> make[6]: exec(clang-tblgen) failed (No such file or directory)
> *** Error code 1
>
> Stop.
> make[6]: stopped in /usr/src/lib/clang/include
> *** Error code 1
>
> Stop.
> make[5]: stopped in /usr/src/lib/clang
> *** Error code 1
>
> Stop.
> make[4]: stopped in /usr/src/lib
> *** Error code 1
>
> Stop.
> make[3]: stopped in /usr/src/lib
> *** Error code 1
>
> Stop.
> make[2]: stopped in /usr/src
> *** Error code 1
>
> Stop.
> make[1]: stopped in /usr/src
> *** Error code 1
>
> Stop.
> make: stopped in /usr/src
Even if overall this style of bootstrap should not work it seems odd to me that clang-tblgen use was attempted before it was built.
===
Mark Millard
markmi at dsl-only.net
More information about the freebsd-ppc
mailing list