gcc-cross-sdk: fix C++ headers include, bump PR.
cover gcc-cross-sdk: fix C++ headers include, bump PR.
Hi
The location of C++ headers has changed in gcc-cross-sdk_4.3.x and above. See error message during packaging step:
NOTE: the following files were installed but not shipped in any package:
NOTE: /opt/angstrom/arm/arm-angstrom-linux-uclibcgnueabi/include/c++/4.3.2/ios
NOTE: /opt/angstrom/arm/arm-angstrom-linux-uclibcgnueabi/include/c++/4.3.2/map
NOTE: /opt/angstrom/arm/arm-angstrom-linux-uclibcgnueabi/include/c++/4.3.2/new
...
NOTE: the following files were installed but not shipped in any package: NOTE: /opt/angstrom/arm/include/c++/4.1.1/debug/deque NOTE: /opt/angstrom/arm/include/c++/4.1.1/debug/map.h NOTE: /opt/angstrom/arm/include/c++/4.1.1/debug/safe_base.h NOTE: /opt/angstrom/arm/include/c++/4.1.1/debug/set.h
This latter error occurs after removing the includedir directive:
recipes/gcc/gcc-package-sdk.inc +0 -1
@@ -17,10 +17,8 @@ FILES_${PN} = "\ ${gcclibdir}/${TARGET_SYS}/${BINV}/specs \ ${gcclibdir}/${TARGET_SYS}/${BINV}/lib* \ ${gcclibdir}/${TARGET_SYS}/${BINV}/include* \ - ${includedir}/c++/${BINV} \ ${prefix}/${TARGET_SYS}/bin/* \ ${prefix}/${TARGET_SYS}/lib/* \
My includedir definition:
export includedir="/opt/angstrom/arm/include"
This seems related to patch:
gcc-cross-sdk: Fix relocation of the toolchain and bump PR.
sha1: f8bf7421bfe8eb86a3f17f269db4fb3667260c38
The patch places C++ headers directly into /include, no longer /usr/include. So I adjusted the gcc-package-sdk.inc. I also removed the now unecessary relocation step from meta-toolchain.bb.
recipes/gcc/gcc-package-sdk.inc +1 -1
@@ -17,10 +17,8 @@ FILES_${PN} = "\ ${prefix}/${TARGET_SYS}/bin/* \ ${prefix}/${TARGET_SYS}/lib/* \ - ${prefix}/${TARGET_SYS}/usr/include/* \ + ${prefix}/${TARGET_SYS}/include/* \ "
Tested on ARM:
gcc-cross-sdk_4.1.1 -- ok gcc-cross-sdk_4.2.4 -- ok gcc-cross-sdk_4.3.1 -- needs, patch gcc-cross-sdk_4.3.2 -- needs, patch gcc-cross-sdk_4.3.3 -- needs, patch gcc-cross-sdk_4.4.2 -- needs, patch
/Andreas
PATCH 1/1 gcc-cross-sdk: fix C++ headers include, bump PR.
This is a follow up on commit:
gcc-cross-sdk: Fix relocation of the toolchain and bump PR.
sha1: f8bf7421bfe8eb86a3f17f269db4fb3667260c38
--- recipes/gcc/gcc-4.3.1.inc | 2 +- recipes/gcc/gcc-4.3.2.inc | 2 +- recipes/gcc/gcc-4.3.3.inc | 2 +- recipes/gcc/gcc-4.3.4.inc | 2 +- recipes/gcc/gcc-4.4.1.inc | 2 +- recipes/gcc/gcc-4.4.2.inc | 2 +- recipes/gcc/gcc-4.4.4.inc | 2 +- recipes/gcc/gcc-package-sdk.inc | 2 +- recipes/meta/meta-toolchain.bb | 2 -- 9 files changed, 8 insertions(+), 10 deletions(-)
recipes/gcc/gcc-4.3.1.inc +1 -1
@@ -8,7 +8,7 @@ LICENSE = "GPLv3" DEPENDS = "mpfr gmp" NATIVEDEPS = "mpfr-native gmp-native" -INC_PR = "r20" +INC_PR = "r21" SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2;name=archive \ file://fedora/gcc43-c++-builtin-redecl.patch;striplevel=0 \
recipes/gcc/gcc-4.3.2.inc +1 -1
@@ -8,7 +8,7 @@ LICENSE = "GPLv3" DEPENDS = "mpfr gmp" NATIVEDEPS = "mpfr-native gmp-native" -INC_PR = "r10" +INC_PR = "r11" SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2;name=archive \ file://fedora/gcc43-c++-builtin-redecl.patch;striplevel=0 \
recipes/gcc/gcc-4.3.3.inc +1 -1
@@ -8,7 +8,7 @@ LICENSE = "GPLv3" DEPENDS = "mpfr gmp" NATIVEDEPS = "mpfr-native gmp-native" -INC_PR = "r12" +INC_PR = "r13" SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2;name=archive \ file://fedora/gcc43-c++-builtin-redecl.patch;striplevel=0 \
recipes/gcc/gcc-4.3.4.inc +1 -1
@@ -8,7 +8,7 @@ LICENSE = "GPLv3" DEPENDS = "mpfr gmp" NATIVEDEPS = "mpfr-native gmp-native" -INC_PR = "r8" +INC_PR = "r9" SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2;name=archive \ file://fedora/gcc43-c++-builtin-redecl.patch;striplevel=0 \
recipes/gcc/gcc-4.4.1.inc +1 -1
@@ -8,7 +8,7 @@ LICENSE = "GPLv3" DEPENDS = "mpfr gmp" NATIVEDEPS = "mpfr-native gmp-native" -INC_PR = "r8" +INC_PR = "r9" FILESPATHPKG .= ":gcc-$PV"
recipes/gcc/gcc-4.4.2.inc +1 -1
@@ -8,7 +8,7 @@ LICENSE = "GPLv3" DEPENDS = "mpfr gmp" NATIVEDEPS = "mpfr-native gmp-native" -INC_PR = "r2" +INC_PR = "r3" FILESPATHPKG .= ":gcc-$PV"
recipes/gcc/gcc-4.4.4.inc +1 -1
@@ -8,7 +8,7 @@ LICENSE = "GPLv3" DEPENDS = "mpfr gmp" NATIVEDEPS = "mpfr-native gmp-native" -INC_PR = "r2" +INC_PR = "r3" FILESPATHPKG .= ":gcc-$PV"
recipes/gcc/gcc-package-sdk.inc +1 -1
@@ -20,7 +20,7 @@ FILES_${PN} = "\ ${includedir}/c++/${BINV} \ ${prefix}/${TARGET_SYS}/bin/* \ ${prefix}/${TARGET_SYS}/lib/* \ - ${prefix}/${TARGET_SYS}/usr/include/* \ + ${prefix}/${TARGET_SYS}/include/* \ " FILES_${PN}-doc = "\ ${infodir} \
recipes/meta/meta-toolchain.bb +0 -2
@@ -124,8 +124,6 @@ do_populate_sdk() { # With sysroot support, gcc expects the default C++ headers to be # in a specific place. install -d ${SDK_OUTPUT}/${SDKPATH}/${TARGET_SYS}/include - mv ${SDK_OUTPUT}/${SDKPATH}/${TARGET_SYS}/usr/include/c++ \ - ${SDK_OUTPUT}/${SDKPATH}/${TARGET_SYS}/include/ # Fix or remove broken .la files for i in `find ${SDK_OUTPUT}/${SDKPATH}/${TARGET_SYS} -name \*.la`; do
Signature · 1 line
1.6.6.1
Quoted 10 lines · Andreas Fenkart
Hi
The location of C++ headers has changed in gcc-cross-sdk_4.3.x and above. See error message during packaging step:
NOTE: the following files were installed but not shipped in any package:
NOTE:/opt/angstrom/arm/arm-angstrom-linux-uclibcgnueabi/include/c++/4.3.2/ios
NOTE:/opt/angstrom/arm/arm-angstrom-linux-uclibcgnueabi/include/c++/4.3.2/map
NOTE:/opt/angstrom/arm/arm-angstrom-linux-uclibcgnueabi/include/c++/4.3.2/new
...
I'm looking into these patches and the possible reasons for this and that to happen as it does.
Signature · 2 lines
Tom Rini Mentor Graphics Corporation
Quoted 10 lines · Andreas Fenkart
Hi
The location of C++ headers has changed in gcc-cross-sdk_4.3.x and above. See error message during packaging step:
NOTE: the following files were installed but not shipped in any package:
NOTE:/opt/angstrom/arm/arm-angstrom-linux-uclibcgnueabi/include/c++/4.3.2/ios
NOTE:/opt/angstrom/arm/arm-angstrom-linux-uclibcgnueabi/include/c++/4.3.2/map
NOTE:/opt/angstrom/arm/arm-angstrom-linux-uclibcgnueabi/include/c++/4.3.2/new
...
So, what you're seeing is that we've never used the c++ headers that are spit out by the gcc-cross-sdk recipe but instead the ones from the libstdc++-dev package which comes from the 'gcc' recipe.
Just confirmed that today, meta-toolchain, DISTRO=angstrom-2008.1, MACHINE=beagleboard and a simple c++ app still build fine.
Signature · 2 lines
Tom Rini Mentor Graphics Corporation