]> code.ossystems Code Review - openembedded-core.git/commitdiff
gcc-runtime.inc: create the correct directory before creating the symlinks in it
authorMartin Jansa <martin.jansa@gmail.com>
Fri, 21 Jun 2019 09:02:10 +0000 (09:02 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 21 Jun 2019 14:31:50 +0000 (15:31 +0100)
* since
  commit b071a1a209556158bcfcc20e3c8bd4b15373767c
  Author: Changqing Li <changqing.li@windriver.com>
  Date:   Tue Jun 18 15:46:56 2019 +0800

    gcc-runtime: fix C++ header mapping for n32/x32 tune

  gcc-runtime.do_install is failing with:

  ln: failed to create symbolic link 'work/aarch64-oemllib32-linux-gnueabi/lib32-gcc-runtime/9.1.0-r0/image/usr/include/c++/9.1.0/arm-oe-linux-gnueabi/bits': No such file or directory
  WARNING: exit code 1 from a shell command.
  ERROR: Function failed: do_install (log file is located at work/aarch64-oemllib32-linux-gnueabi/lib32-gcc-runtime/9.1.0-r0/temp/log.do_install.31049)

  There is only empty directory without the -gnueabi suffix:
  work/aarch64-oemllib32-linux-gnueabi/lib32-gcc-runtime/9.1.0-r0/image/usr/include/c++/9.1.0/arm-oe-linux/

  and

  work/aarch64-oemllib32-linux-gnueabi/lib32-gcc-runtime/9.1.0-r0/image/usr/include/c++/9.1.0/arm-oemllib32-linux-gnueabi/
  bits  ext

* make sure to create correct directory (with -${TARGET_OS suffix instead of -linux suffix)
  before creating the symlinks in it

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-devtools/gcc/gcc-runtime.inc

index ba767e1a380dcec563dd276da88bce72ca01ad6b..a5c2600d7fc10815dc116471abd17afbc8fc1df3 100644 (file)
@@ -114,7 +114,7 @@ do_install_append_class-target () {
                        ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux
                fi
        elif [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
-               mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-linux
+               mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}
                ln -s ../${TARGET_SYS}/bits ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}/bits
                ln -s ../${TARGET_SYS}/ext ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}/ext
        fi