Summary: | build error on cross compile: '.../c++/v1/experimental/' does not exist | ||||||
---|---|---|---|---|---|---|---|
Product: | Base System | Reporter: | HIROKI MORI <yamori813> | ||||
Component: | arm | Assignee: | freebsd-toolchain (Nobody) <toolchain> | ||||
Status: | Closed Not Accepted | ||||||
Severity: | Affects Some People | CC: | dim, freebsd-arm, marklmi26-fbsd | ||||
Priority: | --- | Keywords: | needs-qa | ||||
Version: | CURRENT | Flags: | koobs:
mfc-stable12?
|
||||
Hardware: | Any | ||||||
OS: | Any | ||||||
Attachments: |
|
Description
HIROKI MORI
2019-03-25 08:19:07 UTC
This is my temporary workaround. diff --git a/Makefile.inc1 b/Makefile.inc1 index cf166a813d2..0dc58016601 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -1084,6 +1084,7 @@ _cross-tools: @echo "--------------------------------------------------------------" @echo ">>> stage 3: cross tools" @echo "--------------------------------------------------------------" + @mkdir -p /usr/home/hiroki/zobj/usr/home/hiroki/ZRouter/tmp/usr/home/hir oki/freebsd/arm.arm/tmp/usr/lib/clang/8.0.0/include/ @rm -f ${OBJTOP}/toolchain-metadata.mk ${_+_}cd ${.CURDIR}; ${XMAKE} cross-tools ${_+_}cd ${.CURDIR}; ${XMAKE} kernel-tools @@ -1101,6 +1102,8 @@ _includes: @echo "--------------------------------------------------------------" # Special handling for SUBDIR_OVERRIDE in buildworld as they most likely need # headers from default SUBDIR. Do SUBDIR_OVERRIDE includes last. + @mkdir -p ${WORLDTMP}/usr/include/c++/v1/experimental + @mkdir -p ${WORLDTMP}/usr/include/c++/v1/ext ${_+_}cd ${.CURDIR}; ${WMAKE} SUBDIR_OVERRIDE= SHARED=symlinks ¥ MK_INCLUDES=yes includes .if !empty(SUBDIR_OVERRIDE) && make(buildworld) (In reply to HIROKI MORI from comment #0) > I build sys/arm/ralink(armv5t) on amd64 host. I have build error on > buildworld after clang update 7.0. > > Now clang is 8.0. I have still error. ... > install: target directory `/usr/home/hiroki/zobj/usr/home/hiroki/ZRouter/tmp/usr/home/hiroki/freebsd/arm.arm/tmp/usr/lib/clang/8.0.0/include/' does not exist ... > install: target directory `/usr/home/hiroki/zobj/usr/home/hiroki/ZRouter/tmp/usr/home/hiroki/freebsd/arm.arm/tmp/usr/include/c++/v1/experimental/' does not exis t In both cases, these directories should have been created with mtree at the end of "stage 1.2: bootstrap tools". In your build log, look for these commands: mtree -deUW -f /usr/src/etc/mtree/BSD.usr.dist -p /usr/home/hiroki/zobj/usr/home/hiroki/ZRouter/tmp/usr/home/hiroki/freebsd/arm.arm/tmp >/dev/null mtree -deUW -f /usr/src/etc/mtree/BSD.include.dist -p /usr/home/hiroki/zobj/usr/home/hiroki/ZRouter/tmp/usr/home/hiroki/freebsd/arm.arm/tmp >/dev/null Those commands should be run just before the next stage, "stage 2.1: cleaning up the object tree" starts. Another thing to check is whether your copies of etc/mtree/BSD.usr.dist and etc/mtree/BSD.include.dist are up to date. Thanks for you comment. I check my build environment then that set NO_CLEAN. I delete this option but I have other error. ===> lib/clang/libllvm (all) llvm-tblgen -gen-attrs -I /usr/home/hiroki/freebsd/contrib/llvm/include -d llvm /IR/Attributes.inc.d -o llvm/IR/Attributes.inc /usr/home/hiroki/freebsd/contrib /llvm/include/llvm/IR/Attributes.td llvm-tblgen -gen-intrinsic-enums -I /usr/home/hiroki/freebsd/contrib/llvm/inclu de -d llvm/IR/IntrinsicEnums.inc.d -o llvm/IR/IntrinsicEnums.inc /usr/home/hiro ki/freebsd/contrib/llvm/include/llvm/IR/Intrinsics.td llvm-tblgen: Unknown command line argument '-gen-intrinsic-enums'. Try: 'llvm-t blgen -help' llvm-tblgen: Did you mean '-gen-intrinsic'? *** Error code 1 (In reply to HIROKI MORI from comment #3) > Thanks for you comment. > > I check my build environment then that set NO_CLEAN. > > I delete this option but I have other error. > > ===> lib/clang/libllvm (all) > llvm-tblgen -gen-attrs -I /usr/home/hiroki/freebsd/contrib/llvm/include -d > llvm > /IR/Attributes.inc.d -o llvm/IR/Attributes.inc > /usr/home/hiroki/freebsd/contrib > /llvm/include/llvm/IR/Attributes.td > llvm-tblgen -gen-intrinsic-enums -I > /usr/home/hiroki/freebsd/contrib/llvm/inclu > de -d llvm/IR/IntrinsicEnums.inc.d -o llvm/IR/IntrinsicEnums.inc > /usr/home/hiro > ki/freebsd/contrib/llvm/include/llvm/IR/Intrinsics.td > llvm-tblgen: Unknown command line argument '-gen-intrinsic-enums'. Try: > 'llvm-t > blgen -help' > llvm-tblgen: Did you mean '-gen-intrinsic'? > *** Error code 1 This can happen when it is running the wrong copy of llvm-tblgen, most likely the one in /usr/bin. It should be running /usr/obj/usr/src/amd64.amd64/tmp/legacy/usr/bin/llvm-tblgen instead (this path can be diffent, depending on your setup). If you run "make buildenv" in your top-level source directory, then "which llvm-tblgen", what is the output? I use NO_CLEAN again. I think make directory at "stage 2.2: rebuilding the object tree" by lib/clang/8.0.0/include. But I don't found that log. Where define this? I update 11.3 host os. But still I need this patch. *** Makefile.inc1.orig Mon Jul 8 14:27:19 2019 --- Makefile.inc1 Fri Jul 19 18:05:11 2019 *************** *** 1086,1091 **** --- 1086,1092 ---- @echo "--------------------------------------------------------------" @echo ">>> stage 3: cross tools" @echo "--------------------------------------------------------------" + @mkdir -p /usr/home/hiroki/zobj/usr/home/hiroki/ZRouter/tmp/usr/home/hiroki/freebsd/arm.${TARGET_ARCH}/tmp/usr/lib/clang/8.0.1/include/ @rm -f ${OBJTOP}/toolchain-metadata.mk ${_+_}cd ${.CURDIR}; ${XMAKE} cross-tools ${_+_}cd ${.CURDIR}; ${XMAKE} kernel-tools *************** *** 1103,1108 **** --- 1104,1111 ---- @echo "--------------------------------------------------------------" # Special handling for SUBDIR_OVERRIDE in buildworld as they most likely need # headers from default SUBDIR. Do SUBDIR_OVERRIDE includes last. + @mkdir -p ${WORLDTMP}/usr/include/c++/v1/experimental + @mkdir -p ${WORLDTMP}/usr/include/c++/v1/ext ${_+_}cd ${.CURDIR}; ${WMAKE} SUBDIR_OVERRIDE= SHARED=symlinks \ MK_INCLUDES=yes includes .if !empty(SUBDIR_OVERRIDE) && make(buildworld) (In reply to HIROKI MORI from comment #6) > I update 11.3 host os. But still I need this patch. > > *** Makefile.inc1.orig Mon Jul 8 14:27:19 2019 > --- Makefile.inc1 Fri Jul 19 18:05:11 2019 > *************** > *** 1086,1091 **** > --- 1086,1092 ---- > @echo "--------------------------------------------------------------" > @echo ">>> stage 3: cross tools" > @echo "--------------------------------------------------------------" > + @mkdir -p > /usr/home/hiroki/zobj/usr/home/hiroki/ZRouter/tmp/usr/home/hiroki/freebsd/ > arm.${TARGET_ARCH}/tmp/usr/lib/clang/8.0.1/include/ > @rm -f ${OBJTOP}/toolchain-metadata.mk > ${_+_}cd ${.CURDIR}; ${XMAKE} cross-tools > ${_+_}cd ${.CURDIR}; ${XMAKE} kernel-tools > *************** > *** 1103,1108 **** > --- 1104,1111 ---- > @echo "--------------------------------------------------------------" > # Special handling for SUBDIR_OVERRIDE in buildworld as they most likely > need > # headers from default SUBDIR. Do SUBDIR_OVERRIDE includes last. > + @mkdir -p ${WORLDTMP}/usr/include/c++/v1/experimental > + @mkdir -p ${WORLDTMP}/usr/include/c++/v1/ext > ${_+_}cd ${.CURDIR}; ${WMAKE} SUBDIR_OVERRIDE= SHARED=symlinks \ > MK_INCLUDES=yes includes > .if !empty(SUBDIR_OVERRIDE) && make(buildworld) I can only repeat what I mentioned in comment 2, which is that these directories should be created by mtree, during the earlier stages (e.g. before "stage 3: cross tools"). If that does not happen for you, can you please check whether your source tree is cleanly checked out, without any modifications? If it still fails, can you post a full buildworld log somewhere? Created attachment 205908 [details]
This is build log.
Sorry. I use normal buildworld then build is complete. I use ZRouter build system. This problem is cause of set option by ZRouter. I do compile 12-STABLE. This problem dose not occure. But 13-CURRENT still have this problem. Then I use this patch. --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -1092,6 +1092,13 @@ _obj: @echo "--------------------------------------------------------------" @echo ">>> stage 2.2: rebuilding the object tree" @echo "--------------------------------------------------------------" + @mkdir -p ${WORLDTMP}/usr/lib/clang/9.0.1/include/ + @mkdir -p ${WORLDTMP}/usr/lib/clang/9.0.1/include/cuda_wrappers + @mkdir -p ${WORLDTMP}/usr/lib/clang/9.0.1/include/openmp_wrappers + @mkdir -p ${WORLDTMP}/usr/lib/clang/9.0.1/include/ppc_wrappers + @mkdir -p ${WORLDTMP}/usr/lib/clang/9.0.1/include/sanitizer + @mkdir -p ${WORLDTMP}/usr/include/c++/v1/experimental + @mkdir -p ${WORLDTMP}/usr/include/c++/v1/ext ${_+_}cd ${.CURDIR}; ${WMAKE} _NO_INCLUDE_COMPILERMK=t obj _build-tools: @echo (In reply to HIROKI MORI from comment #10) For head (13) sys/arm/ralink/ is now empty anyway: content removed. There is nothing to build any more (other than for 12 and before). To see that: https://svnweb.freebsd.org/base/head/sys/arm/ralink/ shows it emptied at head -r357395 , something like 3 days ago. Going in a different direction . . . I cross build amd64->armv7,aarch64,powerpc,powerpc64 regularly for head (so 13 currently). No such problems have ever occured. But no "ZRouter build system" is involved. I just use FreeBSD facilities. It appears to me that you were requesting FreeBSD to change in order to allow the alternate build system to work without that other build system being adjusted. However, there is no head (13+) sys/arm/ralink/ content to build now, via any technique. |