Patchwork gcc: Remove package libstdc++-dev and libgcc-dev from gcc-cross

login
register
mail settings
Submitter Stefan Herbrechtsmeier
Date Aug. 30, 2011, 2:29 p.m.
Message ID <1314714550-29390-1-git-send-email-sherbrec@cit-ec.uni-bielefeld.de>
Download mbox | patch
Permalink /patch/10783/
State Accepted
Headers show

Comments

Stefan Herbrechtsmeier - Aug. 30, 2011, 2:29 p.m.
Remove package libstdc++-dev and libgcc-dev from gcc-cross as they
already provided by gcc.

Commit 8c42351519ece9ed60659a103e624d2e154b3641 add dev packages
(libstdc++-dev libgcc-dev) to gcc-cross (gcc-package-cross.inc)
which are already part of gcc. The libgcc-dev package both include
the libgcc_s.so file which triggers a 'file is already provided by
package' error on incremental builds. The libstdc++-dev package have
Steffen Sledz - Aug. 30, 2011, 8:23 p.m.
On 30.08.2011 16:29, Stefan Herbrechtsmeier wrote:
> Remove package libstdc++-dev and libgcc-dev from gcc-cross as they
> already provided by gcc.
> 
> Commit 8c42351519ece9ed60659a103e624d2e154b3641 add dev packages
> (libstdc++-dev libgcc-dev) to gcc-cross (gcc-package-cross.inc)
> which are already part of gcc. The libgcc-dev package both include
> the libgcc_s.so file which triggers a 'file is already provided by
> package' error on incremental builds. The libstdc++-dev package have
> different content and is empty on some archs (armv5te, armv7e).
> The empty package triggers a 'Cannot satisfy the following
> dependencies for task-sdk-bare' error. If an empty libstdc++-dev
> package is generated it triggers a '..../usr/include/c++ not exist'
> error as this is part of the package from gcc but not gcc-cross.
> 
> Signed-off-by: Stefan Herbrechtsmeier <sherbrec@cit-ec.uni-bielefeld.de>

Acked-by: Steffen Sledz <sledz@dresearch-fe.de>

> ---
>  recipes/gcc/gcc-4.3.3.inc         |    2 +-
>  recipes/gcc/gcc-4.5.inc           |    2 +-
>  recipes/gcc/gcc-package-cross.inc |    4 +---
>  3 files changed, 3 insertions(+), 5 deletions(-)
> 
> diff --git a/recipes/gcc/gcc-4.3.3.inc b/recipes/gcc/gcc-4.3.3.inc
> index 649fdfe..8b6ffe5 100644
> --- a/recipes/gcc/gcc-4.3.3.inc
> +++ b/recipes/gcc/gcc-4.3.3.inc
> @@ -8,7 +8,7 @@ LICENSE = "GPLv3"
>  DEPENDS = "mpfr gmp"
>  NATIVEDEPS = "mpfr-native gmp-native"
>  
> -INC_PR = "r23"
> +INC_PR = "r24"
>  
>  SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2;name=archive \
>  	file://fedora/gcc43-c++-builtin-redecl.patch;striplevel=0 \
> diff --git a/recipes/gcc/gcc-4.5.inc b/recipes/gcc/gcc-4.5.inc
> index 69229ef..2777dca 100644
> --- a/recipes/gcc/gcc-4.5.inc
> +++ b/recipes/gcc/gcc-4.5.inc
> @@ -8,7 +8,7 @@ DEPENDS = "mpfr gmp libmpc libelf"
>  NATIVEDEPS = "mpfr-native gmp-native libmpc-native"
>  
>  
> -INC_PR = "r37"
> +INC_PR = "r38"
>  
>  SRCREV = "170880"
>  PV = "4.5"
> diff --git a/recipes/gcc/gcc-package-cross.inc b/recipes/gcc/gcc-package-cross.inc
> index 1533069..8d52b6f 100644
> --- a/recipes/gcc/gcc-package-cross.inc
> +++ b/recipes/gcc/gcc-package-cross.inc
> @@ -4,7 +4,7 @@ PACKAGE_STRIP = "no"
>  
>  SHLIBSDIR = "${STAGING_DIR_TARGET}/shlibs"
>  
> -PACKAGES = "libgcc libssp libstdc++ libg2c libgfortran libstdc++-dev libgcc-dev"
> +PACKAGES = "libgcc libssp libstdc++ libg2c libgfortran"
>  
>  # Called from within gcc-cross, so libdir is set wrong
>  FILES_libg2c = "${target_libdir}/libg2c.so.*"
> @@ -14,11 +14,9 @@ FILES_libssp = "${target_libdir}/libssp.so.*"
>  FILES_libgfortran = "${target_libdir}/libgfortran.so.*"
>  
>  FILES_libgcc = "${target_base_libdir}/libgcc_s.so.1"
> -FILES_libgcc-dev = "${target_libdir}/libgcc_s.so"
>  
>  FILES_libstdc++ = "${target_libdir}/libstdc++.so.*"
>  
> -FILES_libstdc++-dev = "${target_datadir}/gdb/auto-load/${libdir}/libstdc++.so.*-gdb.py*"
>  do_install () {
>  	oe_runmake 'DESTDIR=${D}' install
>  	install -d ${D}${target_base_libdir}
Paul Menzel - Aug. 30, 2011, 8:34 p.m.
Dear Stefan,


thank you very much for the patch.

Am Dienstag, den 30.08.2011, 16:29 +0200 schrieb Stefan Herbrechtsmeier:
> Remove package libstdc++-dev and libgcc-dev from gcc-cross as they
> already provided by gcc.
> 
> Commit 8c42351519ece9ed60659a103e624d2e154b3641 add dev packages
> (libstdc++-dev libgcc-dev) to gcc-cross (gcc-package-cross.inc)
> which are already part of gcc. The libgcc-dev package both include
> the libgcc_s.so file which triggers a 'file is already provided by
> package' error on incremental builds. The libstdc++-dev package have
> different content and is empty on some archs (armv5te, armv7e).
> The empty package triggers a 'Cannot satisfy the following
> dependencies for task-sdk-bare' error. If an empty libstdc++-dev
> package is generated it triggers a '..../usr/include/c++ not exist'
> error as this is part of the package from gcc but not gcc-cross.
> 
> Signed-off-by: Stefan Herbrechtsmeier <sherbrec@cit-ec.uni-bielefeld.de>
> ---
>  recipes/gcc/gcc-4.3.3.inc         |    2 +-
>  recipes/gcc/gcc-4.5.inc           |    2 +-
>  recipes/gcc/gcc-package-cross.inc |    4 +---
>  3 files changed, 3 insertions(+), 5 deletions(-)

So does that patch revert commit 8c423515?


Thanks,

Paul
Stefan Herbrechtsmeier - Aug. 31, 2011, 7:41 a.m.
Am 30.08.2011 22:34, schrieb Paul Menzel:
> Am Dienstag, den 30.08.2011, 16:29 +0200 schrieb Stefan Herbrechtsmeier:
>> Remove package libstdc++-dev and libgcc-dev from gcc-cross as they
>> already provided by gcc.
>>
>> Commit 8c42351519ece9ed60659a103e624d2e154b3641 add dev packages
>> (libstdc++-dev libgcc-dev) to gcc-cross (gcc-package-cross.inc)
>> which are already part of gcc. The libgcc-dev package both include
>> the libgcc_s.so file which triggers a 'file is already provided by
>> package' error on incremental builds. The libstdc++-dev package have
>> different content and is empty on some archs (armv5te, armv7e).
>> The empty package triggers a 'Cannot satisfy the following
>> dependencies for task-sdk-bare' error. If an empty libstdc++-dev
>> package is generated it triggers a '..../usr/include/c++ not exist'
>> error as this is part of the package from gcc but not gcc-cross.
>>
>> Signed-off-by: Stefan Herbrechtsmeier<sherbrec@cit-ec.uni-bielefeld.de>
>> ---
>>   recipes/gcc/gcc-4.3.3.inc         |    2 +-
>>   recipes/gcc/gcc-4.5.inc           |    2 +-
>>   recipes/gcc/gcc-package-cross.inc |    4 +---
>>   3 files changed, 3 insertions(+), 5 deletions(-)
> So does that patch revert commit 8c423515?
Not complete, it leaves the gcc change in gcc-package-target.inc 
untouched and
although keeps the move of the gdb python helpers in gcc-package-cross.inc
but don't ship them in any package. This keeps the intention of the commit
and only fix the fault of adding dev packages to gcc-cross.
Steffen Sledz - Sept. 2, 2011, 6:18 a.m.
On 31.08.2011 09:41, Stefan Herbrechtsmeier wrote:
> Am 30.08.2011 22:34, schrieb Paul Menzel:
>> Am Dienstag, den 30.08.2011, 16:29 +0200 schrieb Stefan Herbrechtsmeier:
>>> Remove package libstdc++-dev and libgcc-dev from gcc-cross as they
>>> already provided by gcc.
>>>
>>> Commit 8c42351519ece9ed60659a103e624d2e154b3641 add dev packages
>>> (libstdc++-dev libgcc-dev) to gcc-cross (gcc-package-cross.inc)
>>> which are already part of gcc. The libgcc-dev package both include
>>> the libgcc_s.so file which triggers a 'file is already provided by
>>> package' error on incremental builds. The libstdc++-dev package have
>>> different content and is empty on some archs (armv5te, armv7e).
>>> The empty package triggers a 'Cannot satisfy the following
>>> dependencies for task-sdk-bare' error. If an empty libstdc++-dev
>>> package is generated it triggers a '..../usr/include/c++ not exist'
>>> error as this is part of the package from gcc but not gcc-cross.
>>>
>>> Signed-off-by: Stefan Herbrechtsmeier<sherbrec@cit-ec.uni-bielefeld.de>
>>> ---
>>>   recipes/gcc/gcc-4.3.3.inc         |    2 +-
>>>   recipes/gcc/gcc-4.5.inc           |    2 +-
>>>   recipes/gcc/gcc-package-cross.inc |    4 +---
>>>   3 files changed, 3 insertions(+), 5 deletions(-)
>> So does that patch revert commit 8c423515?
> Not complete, it leaves the gcc change in gcc-package-target.inc untouched and
> although keeps the move of the gdb python helpers in gcc-package-cross.inc
> but don't ship them in any package. This keeps the intention of the commit
> and only fix the fault of adding dev packages to gcc-cross.

Thanx for the patch.

It's pushed to oe-dev master now and will make a pull request for 2011.03-maintenance branch too.

Steffen
Khem Raj - Sept. 30, 2011, 5:29 p.m.
On 8/30/2011 7:29 AM, Stefan Herbrechtsmeier wrote:
> Remove package libstdc++-dev and libgcc-dev from gcc-cross as they
> already provided by gcc.
>
> Commit 8c42351519ece9ed60659a103e624d2e154b3641 add dev packages
> (libstdc++-dev libgcc-dev) to gcc-cross (gcc-package-cross.inc)
> which are already part of gcc. The libgcc-dev package both include
> the libgcc_s.so file which triggers a 'file is already provided by
> package' error on incremental builds. The libstdc++-dev package have
> different content and is empty on some archs (armv5te, armv7e).
> The empty package triggers a 'Cannot satisfy the following
> dependencies for task-sdk-bare' error. If an empty libstdc++-dev
> package is generated it triggers a '..../usr/include/c++ not exist'
> error as this is part of the package from gcc but not gcc-cross.
>
> Signed-off-by: Stefan Herbrechtsmeier<sherbrec@cit-ec.uni-bielefeld.de>

this would mean that if you need to use -dev files then you have to 
build target gcc. Have you looked into possiblity of removing these 
duplication from target gcc recipe instead ?

We may not want to build target gcc. Right now the libstdc++ package
will come from gcc-cross and dev packages will come from gcc target
recipes.

Look into why -dev file is not populated properly instead.

> ---
>   recipes/gcc/gcc-4.3.3.inc         |    2 +-
>   recipes/gcc/gcc-4.5.inc           |    2 +-
>   recipes/gcc/gcc-package-cross.inc |    4 +---
>   3 files changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/recipes/gcc/gcc-4.3.3.inc b/recipes/gcc/gcc-4.3.3.inc
> index 649fdfe..8b6ffe5 100644
> --- a/recipes/gcc/gcc-4.3.3.inc
> +++ b/recipes/gcc/gcc-4.3.3.inc
> @@ -8,7 +8,7 @@ LICENSE = "GPLv3"
>   DEPENDS = "mpfr gmp"
>   NATIVEDEPS = "mpfr-native gmp-native"
>
> -INC_PR = "r23"
> +INC_PR = "r24"
>
>   SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2;name=archive \
>   	file://fedora/gcc43-c++-builtin-redecl.patch;striplevel=0 \
> diff --git a/recipes/gcc/gcc-4.5.inc b/recipes/gcc/gcc-4.5.inc
> index 69229ef..2777dca 100644
> --- a/recipes/gcc/gcc-4.5.inc
> +++ b/recipes/gcc/gcc-4.5.inc
> @@ -8,7 +8,7 @@ DEPENDS = "mpfr gmp libmpc libelf"
>   NATIVEDEPS = "mpfr-native gmp-native libmpc-native"
>
>
> -INC_PR = "r37"
> +INC_PR = "r38"
>
>   SRCREV = "170880"
>   PV = "4.5"
> diff --git a/recipes/gcc/gcc-package-cross.inc b/recipes/gcc/gcc-package-cross.inc
> index 1533069..8d52b6f 100644
> --- a/recipes/gcc/gcc-package-cross.inc
> +++ b/recipes/gcc/gcc-package-cross.inc
> @@ -4,7 +4,7 @@ PACKAGE_STRIP = "no"
>
>   SHLIBSDIR = "${STAGING_DIR_TARGET}/shlibs"
>
> -PACKAGES = "libgcc libssp libstdc++ libg2c libgfortran libstdc++-dev libgcc-dev"
> +PACKAGES = "libgcc libssp libstdc++ libg2c libgfortran"
>
>   # Called from within gcc-cross, so libdir is set wrong
>   FILES_libg2c = "${target_libdir}/libg2c.so.*"
> @@ -14,11 +14,9 @@ FILES_libssp = "${target_libdir}/libssp.so.*"
>   FILES_libgfortran = "${target_libdir}/libgfortran.so.*"
>
>   FILES_libgcc = "${target_base_libdir}/libgcc_s.so.1"
> -FILES_libgcc-dev = "${target_libdir}/libgcc_s.so"
>
>   FILES_libstdc++ = "${target_libdir}/libstdc++.so.*"
>
> -FILES_libstdc++-dev = "${target_datadir}/gdb/auto-load/${libdir}/libstdc++.so.*-gdb.py*"
>   do_install () {
>   	oe_runmake 'DESTDIR=${D}' install
>   	install -d ${D}${target_base_libdir}

Patch

different content and is empty on some archs (armv5te, armv7e).
The empty package triggers a 'Cannot satisfy the following
dependencies for task-sdk-bare' error. If an empty libstdc++-dev
package is generated it triggers a '..../usr/include/c++ not exist'
error as this is part of the package from gcc but not gcc-cross.

Signed-off-by: Stefan Herbrechtsmeier <sherbrec@cit-ec.uni-bielefeld.de>
---
 recipes/gcc/gcc-4.3.3.inc         |    2 +-
 recipes/gcc/gcc-4.5.inc           |    2 +-
 recipes/gcc/gcc-package-cross.inc |    4 +---
 3 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/recipes/gcc/gcc-4.3.3.inc b/recipes/gcc/gcc-4.3.3.inc
index 649fdfe..8b6ffe5 100644
--- a/recipes/gcc/gcc-4.3.3.inc
+++ b/recipes/gcc/gcc-4.3.3.inc
@@ -8,7 +8,7 @@  LICENSE = "GPLv3"
 DEPENDS = "mpfr gmp"
 NATIVEDEPS = "mpfr-native gmp-native"
 
-INC_PR = "r23"
+INC_PR = "r24"
 
 SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2;name=archive \
 	file://fedora/gcc43-c++-builtin-redecl.patch;striplevel=0 \
diff --git a/recipes/gcc/gcc-4.5.inc b/recipes/gcc/gcc-4.5.inc
index 69229ef..2777dca 100644
--- a/recipes/gcc/gcc-4.5.inc
+++ b/recipes/gcc/gcc-4.5.inc
@@ -8,7 +8,7 @@  DEPENDS = "mpfr gmp libmpc libelf"
 NATIVEDEPS = "mpfr-native gmp-native libmpc-native"
 
 
-INC_PR = "r37"
+INC_PR = "r38"
 
 SRCREV = "170880"
 PV = "4.5"
diff --git a/recipes/gcc/gcc-package-cross.inc b/recipes/gcc/gcc-package-cross.inc
index 1533069..8d52b6f 100644
--- a/recipes/gcc/gcc-package-cross.inc
+++ b/recipes/gcc/gcc-package-cross.inc
@@ -4,7 +4,7 @@  PACKAGE_STRIP = "no"
 
 SHLIBSDIR = "${STAGING_DIR_TARGET}/shlibs"
 
-PACKAGES = "libgcc libssp libstdc++ libg2c libgfortran libstdc++-dev libgcc-dev"
+PACKAGES = "libgcc libssp libstdc++ libg2c libgfortran"
 
 # Called from within gcc-cross, so libdir is set wrong
 FILES_libg2c = "${target_libdir}/libg2c.so.*"
@@ -14,11 +14,9 @@  FILES_libssp = "${target_libdir}/libssp.so.*"
 FILES_libgfortran = "${target_libdir}/libgfortran.so.*"
 
 FILES_libgcc = "${target_base_libdir}/libgcc_s.so.1"
-FILES_libgcc-dev = "${target_libdir}/libgcc_s.so"
 
 FILES_libstdc++ = "${target_libdir}/libstdc++.so.*"
 
-FILES_libstdc++-dev = "${target_datadir}/gdb/auto-load/${libdir}/libstdc++.so.*-gdb.py*"
 do_install () {
 	oe_runmake 'DESTDIR=${D}' install
 	install -d ${D}${target_base_libdir}