* [PATCH 0/2] upgrade libc-package.bbclass; add libgcc
@ 2011-01-15 11:23 Dexuan Cui
2011-01-15 11:23 ` [PATCH 1/2] libgcc: use the new recipe (rather than gcc-runtime) to install libgcc_s.so* and crt*.o Dexuan Cui
2011-01-15 11:23 ` [PATCH 2/2] libc-package.bbclass: should not rm scsi/*.h Dexuan Cui
0 siblings, 2 replies; 12+ messages in thread
From: Dexuan Cui @ 2011-01-15 11:23 UTC (permalink / raw)
To: poky
I tested on qemux86 and qemumips: bitbake poky-image-sdk and
meta-toolchain-sdk can build fine.
The patches are straightforward and should not incur regression.
Anyway, please review them carefully in case I made mistakes. :-)
thanks,
-- Dexuan
Pull URL: git://git.pokylinux.org/poky-contrib.git
Branch: dcui/master
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=dcui/master
Thanks,
Dexuan Cui <dexuan.cui@intel.com>
---
Dexuan Cui (2):
libgcc: use the new recipe (rather than gcc-runtime) to install
libgcc_s.so* and crt*.o
libc-package.bbclass: should not rm scsi/*.h
meta/classes/libc-package.bbclass | 3 -
meta/conf/distro/include/poky-default.inc | 1 +
.../recipes-devtools/gcc/gcc-configure-runtime.inc | 16 +-------
meta/recipes-devtools/gcc/gcc-package-runtime.inc | 8 ----
meta/recipes-devtools/gcc/gcc-runtime_4.3.3.bb | 2 +-
meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb | 2 +-
meta/recipes-devtools/gcc/libgcc_4.5.1.bb | 43 ++++++++++++++++++++
7 files changed, 47 insertions(+), 28 deletions(-)
create mode 100644 meta/recipes-devtools/gcc/libgcc_4.5.1.bb
--
1.7.2
^ permalink raw reply [flat|nested] 12+ messages in thread* [PATCH 1/2] libgcc: use the new recipe (rather than gcc-runtime) to install libgcc_s.so* and crt*.o 2011-01-15 11:23 [PATCH 0/2] upgrade libc-package.bbclass; add libgcc Dexuan Cui @ 2011-01-15 11:23 ` Dexuan Cui 2011-01-15 11:37 ` Koen Kooi 2011-01-15 11:23 ` [PATCH 2/2] libc-package.bbclass: should not rm scsi/*.h Dexuan Cui 1 sibling, 1 reply; 12+ messages in thread From: Dexuan Cui @ 2011-01-15 11:23 UTC (permalink / raw) To: poky Currently gcc-runtime installs the files, but actually gcc-runtime's do_configure checks if the files are available, so before we build gcc-runtime, we should have some recipe install the files first! -- currently gcc-cross-intermediate actually does that(gcc-cross also installs the files, but it installs into the gcc-build-internal* directory), but gcc-cross-intermediate will have its own sysroot in future, after that, gcc-runtime won't build. So let us add this new target recipe and move the installation of the files from gcc-runtime into it. Signed-off-by: Dexuan Cui <dexuan.cui@intel.com> --- meta/conf/distro/include/poky-default.inc | 1 + .../recipes-devtools/gcc/gcc-configure-runtime.inc | 16 +------- meta/recipes-devtools/gcc/gcc-package-runtime.inc | 8 ---- meta/recipes-devtools/gcc/gcc-runtime_4.3.3.bb | 2 +- meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb | 2 +- meta/recipes-devtools/gcc/libgcc_4.5.1.bb | 43 ++++++++++++++++++++ 6 files changed, 47 insertions(+), 25 deletions(-) create mode 100644 meta/recipes-devtools/gcc/libgcc_4.5.1.bb diff --git a/meta/conf/distro/include/poky-default.inc b/meta/conf/distro/include/poky-default.inc index e5dd647..b693102 100644 --- a/meta/conf/distro/include/poky-default.inc +++ b/meta/conf/distro/include/poky-default.inc @@ -11,6 +11,7 @@ PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-intermediate = "gcc-cross-interme PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "gcc-cross" PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "gcc-cross" PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}compilerlibs = "gcc-runtime" +PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libgcc = "libgcc" PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial = "${POKYLIBC}-initial" PREFERRED_PROVIDER_virtual/${SDK_PREFIX}libc-for-gcc-nativesdk ?= "${POKYLIBC}-nativesdk" diff --git a/meta/recipes-devtools/gcc/gcc-configure-runtime.inc b/meta/recipes-devtools/gcc/gcc-configure-runtime.inc index f9ad61d..6cc11e2 100644 --- a/meta/recipes-devtools/gcc/gcc-configure-runtime.inc +++ b/meta/recipes-devtools/gcc/gcc-configure-runtime.inc @@ -31,28 +31,14 @@ do_compile () { } do_install () { - target=`echo ${MULTIMACH_TARGET_SYS} | sed -e s#-nativesdk##` - - # Install libgcc from our gcc-cross saved data - install -d ${D}${base_libdir} ${D}${libdir} - cp -fpPR ${STAGING_INCDIR_NATIVE}/gcc-build-internal-$target/* ${D} - for d in ${RUNTIMETARGET}; do cd ${B}/$d/ oe_runmake 'DESTDIR=${D}' install done - - # Move libgcc_s into /lib - mkdir -p ${D}${base_libdir} - if [ -f ${D}${libdir}/nof/libgcc_s.so ]; then - mv ${D}${libdir}/nof/libgcc* ${D}${base_libdir} - else - mv ${D}${libdir}/libgcc* ${D}${base_libdir} || true - fi } INHIBIT_DEFAULT_DEPS = "1" -DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++" +DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++ libgcc" PROVIDES = "virtual/${TARGET_PREFIX}compilerlibs" BBCLASSEXTEND = "nativesdk" diff --git a/meta/recipes-devtools/gcc/gcc-package-runtime.inc b/meta/recipes-devtools/gcc/gcc-package-runtime.inc index 40a9ed0..e8c9011 100644 --- a/meta/recipes-devtools/gcc/gcc-package-runtime.inc +++ b/meta/recipes-devtools/gcc/gcc-package-runtime.inc @@ -1,6 +1,4 @@ PACKAGES = "\ - libgcc \ - libgcc-dev \ libstdc++ \ libstdc++-precompile-dev \ libstdc++-dev \ @@ -14,12 +12,6 @@ PACKAGES = "\ libmudflap-dev \ " -FILES_libgcc = "${base_libdir}/libgcc*.so.*" -FILES_libgcc-dev = " \ - ${base_libdir}/libgcc*.so \ - ${libdir}/${TARGET_SYS}/${BINV}/crt* \ - ${libdir}/${TARGET_SYS}/${BINV}/libgcc*" - FILES_libg2c = "${target_libdir}/libg2c.so.*" FILES_libg2c-dev = "\ ${libdir}/libg2c.so \ diff --git a/meta/recipes-devtools/gcc/gcc-runtime_4.3.3.bb b/meta/recipes-devtools/gcc/gcc-runtime_4.3.3.bb index 6b375f3..99f927a 100644 --- a/meta/recipes-devtools/gcc/gcc-runtime_4.3.3.bb +++ b/meta/recipes-devtools/gcc/gcc-runtime_4.3.3.bb @@ -1,4 +1,4 @@ -PR = "r17" +PR = "r18" require gcc-${PV}.inc require gcc-configure-runtime.inc diff --git a/meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb index ca22e8b..093f9bf 100644 --- a/meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb +++ b/meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb @@ -1,4 +1,4 @@ -PR = "r1" +PR = "r2" require gcc-${PV}.inc require gcc-configure-runtime.inc diff --git a/meta/recipes-devtools/gcc/libgcc_4.5.1.bb b/meta/recipes-devtools/gcc/libgcc_4.5.1.bb new file mode 100644 index 0000000..37a4d38 --- /dev/null +++ b/meta/recipes-devtools/gcc/libgcc_4.5.1.bb @@ -0,0 +1,43 @@ +require gcc-${PV}.inc + +PR = "r0" + +INHIBIT_DEFAULT_DEPS = "1" +DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++" +PROVIDES = "virtual/${TARGET_PREFIX}libgcc" + +PACKAGES = "\ + libgcc \ + libgcc-dev \ + " + +FILES_libgcc = "${base_libdir}/libgcc*.so.*" +FILES_libgcc-dev = " \ + ${base_libdir}/libgcc*.so \ + ${libdir}/${TARGET_SYS}/${BINV}/crt* \ + ${libdir}/${TARGET_SYS}/${BINV}/libgcc*" + +do_fetch[noexec] = "1" +do_unpack[noexec] = "1" +do_patch[noexec] = "1" +do_configure[noexec] = "1" +do_compile[noexec] = "1" + +do_install () { + target=`echo ${MULTIMACH_TARGET_SYS} | sed -e s#-nativesdk##` + + # Install libgcc from our gcc-cross saved data + install -d ${D}${base_libdir} ${D}${libdir} + cp -fpPR ${STAGING_INCDIR_NATIVE}/gcc-build-internal-$target/* ${D} + + # Move libgcc_s into /lib + mkdir -p ${D}${base_libdir} + if [ -f ${D}${libdir}/nof/libgcc_s.so ]; then + mv ${D}${libdir}/nof/libgcc* ${D}${base_libdir} + else + mv ${D}${libdir}/libgcc* ${D}${base_libdir} || true + fi +} + +BBCLASSEXTEND = "nativesdk" + -- 1.7.2 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH 1/2] libgcc: use the new recipe (rather than gcc-runtime) to install libgcc_s.so* and crt*.o 2011-01-15 11:23 ` [PATCH 1/2] libgcc: use the new recipe (rather than gcc-runtime) to install libgcc_s.so* and crt*.o Dexuan Cui @ 2011-01-15 11:37 ` Koen Kooi 2011-01-15 11:55 ` Cui, Dexuan 0 siblings, 1 reply; 12+ messages in thread From: Koen Kooi @ 2011-01-15 11:37 UTC (permalink / raw) To: Dexuan Cui; +Cc: poky Op 15 jan 2011, om 12:23 heeft Dexuan Cui het volgende geschreven: > Currently gcc-runtime installs the files, but actually gcc-runtime's > do_configure checks if the files are available, so before we build gcc-runtime, > we should have some recipe install the files first! -- currently > gcc-cross-intermediate actually does that(gcc-cross also installs the files, > but it installs into the gcc-build-internal* directory), but > gcc-cross-intermediate will have its own sysroot in future, after that, > gcc-runtime won't build. So let us add this new target recipe and move the > installation of the files from gcc-runtime into it. I understand the problem, but... > diff --git a/meta/recipes-devtools/gcc/libgcc_4.5.1.bb b/meta/recipes-devtools/gcc/libgcc_4.5.1.bb > > +do_install () { > + target=`echo ${MULTIMACH_TARGET_SYS} | sed -e s#-nativesdk##` > + > + # Install libgcc from our gcc-cross saved data > + install -d ${D}${base_libdir} ${D}${libdir} > + cp -fpPR ${STAGING_INCDIR_NATIVE}/gcc-build-internal-$target/* ${D} ... why can't gcc-cross create the libgcc(-dev) packages? You're using the exact files gcc-cross installs, so why have an extra recipe? It feels backwards to have one package grab files from another package from sysroots and package those. regards, Koen ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 1/2] libgcc: use the new recipe (rather than gcc-runtime) to install libgcc_s.so* and crt*.o 2011-01-15 11:37 ` Koen Kooi @ 2011-01-15 11:55 ` Cui, Dexuan 2011-01-15 13:12 ` Koen Kooi 0 siblings, 1 reply; 12+ messages in thread From: Cui, Dexuan @ 2011-01-15 11:55 UTC (permalink / raw) To: 'Koen Kooi', 'Richard Purdie'; +Cc: poky@yoctoproject.org Koen Kooi wrote: > Op 15 jan 2011, om 12:23 heeft Dexuan Cui het volgende geschreven: > >> Currently gcc-runtime installs the files, but actually gcc-runtime's >> do_configure checks if the files are available, so before we build >> gcc-runtime, >> we should have some recipe install the files first! -- currently >> gcc-cross-intermediate actually does that(gcc-cross also installs >> the files, >> but it installs into the gcc-build-internal* directory), but >> gcc-cross-intermediate will have its own sysroot in future, after >> that, >> gcc-runtime won't build. So let us add this new target recipe and >> move the >> installation of the files from gcc-runtime into it. > > I understand the problem, but... > >> diff --git a/meta/recipes-devtools/gcc/libgcc_4.5.1.bb >> b/meta/recipes-devtools/gcc/libgcc_4.5.1.bb >> >> +do_install () { >> + target=`echo ${MULTIMACH_TARGET_SYS} | sed -e s#-nativesdk##` + >> + # Install libgcc from our gcc-cross saved data >> + install -d ${D}${base_libdir} ${D}${libdir} >> + cp -fpPR ${STAGING_INCDIR_NATIVE}/gcc-build-internal-$target/* ${D} > > ... why can't gcc-cross create the libgcc(-dev) packages? You're > using the exact files gcc-cross installs, so why have an extra > recipe? It feels backwards to have one package grab files from > another package from sysroots and package those. I discussed this with Richard in the #yocto IRC channel several days ago. Richard thinks the packaging of the files should be in a target recipe rather than a cross one. Cc Richard for further explanation why doing the packaging in a gcc-cross is a mistake. :-) Thanks, -- Dexuan ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 1/2] libgcc: use the new recipe (rather than gcc-runtime) to install libgcc_s.so* and crt*.o 2011-01-15 11:55 ` Cui, Dexuan @ 2011-01-15 13:12 ` Koen Kooi 2011-01-15 23:34 ` Richard Purdie 0 siblings, 1 reply; 12+ messages in thread From: Koen Kooi @ 2011-01-15 13:12 UTC (permalink / raw) To: Cui, Dexuan; +Cc: poky@yoctoproject.org Op 15 jan 2011, om 12:55 heeft Cui, Dexuan het volgende geschreven: > Koen Kooi wrote: >> Op 15 jan 2011, om 12:23 heeft Dexuan Cui het volgende geschreven: >> >>> Currently gcc-runtime installs the files, but actually gcc-runtime's >>> do_configure checks if the files are available, so before we build >>> gcc-runtime, >>> we should have some recipe install the files first! -- currently >>> gcc-cross-intermediate actually does that(gcc-cross also installs >>> the files, >>> but it installs into the gcc-build-internal* directory), but >>> gcc-cross-intermediate will have its own sysroot in future, after >>> that, >>> gcc-runtime won't build. So let us add this new target recipe and >>> move the >>> installation of the files from gcc-runtime into it. >> >> I understand the problem, but... >> >>> diff --git a/meta/recipes-devtools/gcc/libgcc_4.5.1.bb >>> b/meta/recipes-devtools/gcc/libgcc_4.5.1.bb >>> >>> +do_install () { >>> + target=`echo ${MULTIMACH_TARGET_SYS} | sed -e s#-nativesdk##` + >>> + # Install libgcc from our gcc-cross saved data >>> + install -d ${D}${base_libdir} ${D}${libdir} >>> + cp -fpPR ${STAGING_INCDIR_NATIVE}/gcc-build-internal-$target/* ${D} >> >> ... why can't gcc-cross create the libgcc(-dev) packages? You're >> using the exact files gcc-cross installs, so why have an extra >> recipe? It feels backwards to have one package grab files from >> another package from sysroots and package those. > I discussed this with Richard in the #yocto IRC channel several days ago. > Richard thinks the packaging of the files should be in a target recipe rather than a cross one. > Cc Richard for further explanation why doing the packaging in a gcc-cross is a mistake. :-) I know packaging files from gcc-cross leads to all kinds of problems, but you're not using a target recipe, you are now indirectly packaging files from gcc-cross instead of directly. Since the files are exactly the same, why is this work around better than just packaging them directly. Or the other options, just building a new libgcc with a "real" recipe. regards, Koen ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 1/2] libgcc: use the new recipe (rather than gcc-runtime) to install libgcc_s.so* and crt*.o 2011-01-15 13:12 ` Koen Kooi @ 2011-01-15 23:34 ` Richard Purdie 2011-01-16 6:13 ` Cui, Dexuan 0 siblings, 1 reply; 12+ messages in thread From: Richard Purdie @ 2011-01-15 23:34 UTC (permalink / raw) To: Koen Kooi; +Cc: poky@yoctoproject.org On Sat, 2011-01-15 at 14:12 +0100, Koen Kooi wrote: > Op 15 jan 2011, om 12:55 heeft Cui, Dexuan het volgende geschreven: > > > Koen Kooi wrote: > >> Op 15 jan 2011, om 12:23 heeft Dexuan Cui het volgende geschreven: > >> > >>> Currently gcc-runtime installs the files, but actually gcc-runtime's > >>> do_configure checks if the files are available, so before we build > >>> gcc-runtime, > >>> we should have some recipe install the files first! -- currently > >>> gcc-cross-intermediate actually does that(gcc-cross also installs > >>> the files, > >>> but it installs into the gcc-build-internal* directory), but > >>> gcc-cross-intermediate will have its own sysroot in future, after > >>> that, > >>> gcc-runtime won't build. So let us add this new target recipe and > >>> move the > >>> installation of the files from gcc-runtime into it. > >> > >> I understand the problem, but... > >> > >>> diff --git a/meta/recipes-devtools/gcc/libgcc_4.5.1.bb > >>> b/meta/recipes-devtools/gcc/libgcc_4.5.1.bb > >>> > >>> +do_install () { > >>> + target=`echo ${MULTIMACH_TARGET_SYS} | sed -e s#-nativesdk##` + > >>> + # Install libgcc from our gcc-cross saved data > >>> + install -d ${D}${base_libdir} ${D}${libdir} > >>> + cp -fpPR ${STAGING_INCDIR_NATIVE}/gcc-build-internal-$target/* ${D} > >> > >> ... why can't gcc-cross create the libgcc(-dev) packages? You're > >> using the exact files gcc-cross installs, so why have an extra > >> recipe? It feels backwards to have one package grab files from > >> another package from sysroots and package those. > > I discussed this with Richard in the #yocto IRC channel several days ago. > > Richard thinks the packaging of the files should be in a target recipe rather than a cross one. > > Cc Richard for further explanation why doing the packaging in a gcc-cross is a mistake. :-) > > I know packaging files from gcc-cross leads to all kinds of problems, > but you're not using a target recipe, you are now indirectly packaging > files from gcc-cross instead of directly. Looking at the patch, isn't libgcc a target recipe? The underlying problem here, highlighted when we dived into the separate sysroots for the toolchain bootstrap is that gcc-runtime builds libstdc ++ against the gcc-cross-intermediate libgcc as its the one in the sysroot, not the one from gcc-cross as it should. I do think we should package things in the target recipe context and I think this is what Dexuan's patch is doing. > Since the files are exactly the same, why is this work around better > than just packaging them directly. Or the other options, just building > a new libgcc with a "real" recipe. Building libgcc by itself turns out to be quite horrible to do. I live in hope the gcc guys clean it up but until then... Cheers, Richard ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 1/2] libgcc: use the new recipe (rather than gcc-runtime) to install libgcc_s.so* and crt*.o 2011-01-15 23:34 ` Richard Purdie @ 2011-01-16 6:13 ` Cui, Dexuan 2011-01-17 5:08 ` Cui, Dexuan 0 siblings, 1 reply; 12+ messages in thread From: Cui, Dexuan @ 2011-01-16 6:13 UTC (permalink / raw) To: 'Richard Purdie', Koen Kooi; +Cc: poky@yoctoproject.org Richard Purdie wrote: > On Sat, 2011-01-15 at 14:12 +0100, Koen Kooi wrote: >> Op 15 jan 2011, om 12:55 heeft Cui, Dexuan het volgende geschreven: >> >>> Koen Kooi wrote: >>>> Op 15 jan 2011, om 12:23 heeft Dexuan Cui het volgende geschreven: >>>> >>>>> Currently gcc-runtime installs the files, but actually >>>>> gcc-runtime's do_configure checks if the files are available, so >>>>> before we build gcc-runtime, we should have some recipe install >>>>> the files first! -- currently gcc-cross-intermediate actually >>>>> does that(gcc-cross also installs the files, but it installs into >>>>> the gcc-build-internal* directory), but gcc-cross-intermediate >>>>> will have its own sysroot in future, after that, gcc-runtime >>>>> won't build. So let us add this new target recipe and move the >>>>> installation of the files from gcc-runtime into it. >>>> >>>> I understand the problem, but... >>>> >>>>> diff --git a/meta/recipes-devtools/gcc/libgcc_4.5.1.bb >>>>> b/meta/recipes-devtools/gcc/libgcc_4.5.1.bb >>>>> >>>>> +do_install () { >>>>> + target=`echo ${MULTIMACH_TARGET_SYS} | sed -e s#-nativesdk##` + >>>>> + # Install libgcc from our gcc-cross saved data >>>>> + install -d ${D}${base_libdir} ${D}${libdir} >>>>> + cp -fpPR ${STAGING_INCDIR_NATIVE}/gcc-build-internal-$target/* >>>>> ${D} >>>> >>>> ... why can't gcc-cross create the libgcc(-dev) packages? You're >>>> using the exact files gcc-cross installs, so why have an extra >>>> recipe? It feels backwards to have one package grab files from >>>> another package from sysroots and package those. >>> I discussed this with Richard in the #yocto IRC channel several >>> days ago. >>> Richard thinks the packaging of the files should be in a target >>> recipe rather than a cross one. Cc Richard for further explanation >>> why doing the packaging in a gcc-cross is a mistake. :-) >> >> I know packaging files from gcc-cross leads to all kinds of problems, >> but you're not using a target recipe, you are now indirectly >> packaging files from gcc-cross instead of directly. > > Looking at the patch, isn't libgcc a target recipe? > > The underlying problem here, highlighted when we dived into the > separate sysroots for the toolchain bootstrap is that gcc-runtime > builds libstdc ++ against the gcc-cross-intermediate libgcc as its > the one in the sysroot, not the one from gcc-cross as it should. > > I do think we should package things in the target recipe context and I > think this is what Dexuan's patch is doing. > >> Since the files are exactly the same, why is this work around better >> than just packaging them directly. Or the other options, just >> building a new libgcc with a "real" recipe. > > Building libgcc by itself turns out to be quite horrible to do. I live > in hope the gcc guys clean it up but until then... > > Cheers, > > Richard Hi Richard, Thanks a lot for the explanation! BTW: after careful checking, I found the crt*.o files are actually not packaged properly into the target image (the log is below) :-( Looks my patch missed something? But looks the original gcc-runtime recipe also hasn't any special? I'm debugging this. Any quick hint is appreciate! NOTE: the following files were installed but not shipped in any package: /lib/libgcc_s.so NOTE: /lib/libgcc_s.so /usr/lib/i586-poky-linux/4.5.1/crtbeginS.o NOTE: /usr/lib/i586-poky-linux/4.5.1/crtbeginS.o /usr/lib/i586-poky-linux/4.5.1/crtfastmath.o NOTE: /usr/lib/i586-poky-linux/4.5.1/crtfastmath.o /usr/lib/i586-poky-linux/4.5.1/libgcc.a NOTE: /usr/lib/i586-poky-linux/4.5.1/libgcc.a /usr/lib/i586-poky-linux/4.5.1/libgcov.a NOTE: /usr/lib/i586-poky-linux/4.5.1/libgcov.a /usr/lib/i586-poky-linux/4.5.1/crtend.o NOTE: /usr/lib/i586-poky-linux/4.5.1/crtend.o /usr/lib/i586-poky-linux/4.5.1/crtbeginT.o NOTE: /usr/lib/i586-poky-linux/4.5.1/crtbeginT.o /usr/lib/i586-poky-linux/4.5.1/crtbegin.o NOTE: /usr/lib/i586-poky-linux/4.5.1/crtbegin.o /usr/lib/i586-poky-linux/4.5.1/crtendS.o NOTE: /usr/lib/i586-poky-linux/4.5.1/crtendS.o /usr/lib/i586-poky-linux/4.5.1/crtprec32.o NOTE: /usr/lib/i586-poky-linux/4.5.1/crtprec32.o /usr/lib/i586-poky-linux/4.5.1/libgcc_eh.a NOTE: /usr/lib/i586-poky-linux/4.5.1/libgcc_eh.a /usr/lib/i586-poky-linux/4.5.1/crtprec80.o NOTE: /usr/lib/i586-poky-linux/4.5.1/crtprec80.o /usr/lib/i586-poky-linux/4.5.1/crtprec64.o NOTE: /usr/lib/i586-poky-linux/4.5.1/crtprec64.o Thanks, -- Dexuan ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 1/2] libgcc: use the new recipe (rather than gcc-runtime) to install libgcc_s.so* and crt*.o 2011-01-16 6:13 ` Cui, Dexuan @ 2011-01-17 5:08 ` Cui, Dexuan 0 siblings, 0 replies; 12+ messages in thread From: Cui, Dexuan @ 2011-01-17 5:08 UTC (permalink / raw) To: 'Richard Purdie', Koen Kooi; +Cc: poky@yoctoproject.org Cui, Dexuan wrote: > BTW: after careful checking, I found the crt*.o files are actually > not packaged properly into the target image (the log is below) :-( > Looks my patch missed something? But looks the original gcc-runtime > recipe also hasn't any special? > I'm debugging this. Any quick hint is appreciated! > > NOTE: the following files were installed but not shipped in any > package: /lib/libgcc_s.so > NOTE: /lib/libgcc_s.so > /usr/lib/i586-poky-linux/4.5.1/crtbeginS.o Hi, the issue was fixed: I didn't define PREFERRED_PROVIDER and PROVIDES properly. I'll resend the new pull request soon. Thanks, -- Dexuan ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 2/2] libc-package.bbclass: should not rm scsi/*.h 2011-01-15 11:23 [PATCH 0/2] upgrade libc-package.bbclass; add libgcc Dexuan Cui 2011-01-15 11:23 ` [PATCH 1/2] libgcc: use the new recipe (rather than gcc-runtime) to install libgcc_s.so* and crt*.o Dexuan Cui @ 2011-01-15 11:23 ` Dexuan Cui 2011-01-15 11:39 ` Koen Kooi 1 sibling, 1 reply; 12+ messages in thread From: Dexuan Cui @ 2011-01-15 11:23 UTC (permalink / raw) To: poky {e}glibc should install the scsi/*.h files, which are needed by hal. Currently hal can build because eglibc-initial (which has its own do_install) installs the files. In future eglibc will have its own sysroot, so hal won't build. BTW: in OE side, eglibc's do_install also doesn't remove the files. Signed-off-by: Dexuan Cui <dexuan.cui@intel.com> --- meta/classes/libc-package.bbclass | 3 --- 1 files changed, 0 insertions(+), 3 deletions(-) diff --git a/meta/classes/libc-package.bbclass b/meta/classes/libc-package.bbclass index 4709b33..733f26b 100644 --- a/meta/classes/libc-package.bbclass +++ b/meta/classes/libc-package.bbclass @@ -95,9 +95,6 @@ do_install() { mv ${WORKDIR}/SUPPORTED.tmp ${WORKDIR}/SUPPORTED done rm -f ${D}{sysconfdir}/rpc - rm -f ${D}${includedir}/scsi/sg.h - rm -f ${D}${includedir}/scsi/scsi_ioctl.h - rm -f ${D}${includedir}/scsi/scsi.h rm -rf ${D}${datadir}/zoneinfo rm -rf ${D}${libexecdir}/getconf } -- 1.7.2 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH 2/2] libc-package.bbclass: should not rm scsi/*.h 2011-01-15 11:23 ` [PATCH 2/2] libc-package.bbclass: should not rm scsi/*.h Dexuan Cui @ 2011-01-15 11:39 ` Koen Kooi 2011-01-15 11:50 ` Cui, Dexuan 0 siblings, 1 reply; 12+ messages in thread From: Koen Kooi @ 2011-01-15 11:39 UTC (permalink / raw) To: Dexuan Cui; +Cc: poky Op 15 jan 2011, om 12:23 heeft Dexuan Cui het volgende geschreven: > {e}glibc should install the scsi/*.h files, which are needed by hal. > Currently hal can build because eglibc-initial (which has its own do_install) > installs the files. In future eglibc will have its own sysroot, so hal > won't build. > > BTW: in OE side, eglibc's do_install also doesn't remove the files. As some background info: There's a conflict between linux-libc-headers-dev and libc-dev when installing on the target. In OE we do this instead: koen@dominion:/OE/org.openembedded.dev$ grep scsi recipes/linux-libc-headers/ -rn recipes/linux-libc-headers/linux-libc-headers_2.6.32.bb:23: rm -f ${D}${exec_prefix}/include/scsi/scsi.h recipes/linux-libc-headers/linux-libc-headers_2.6.31.bb:23: rm -f ${D}${exec_prefix}/include/scsi/scsi.h recipes/linux-libc-headers/linux-libc-headers_2.6.34.bb:42: rm -f ${D}${exec_prefix}/include/scsi/scsi.h regards, Koen ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 2/2] libc-package.bbclass: should not rm scsi/*.h 2011-01-15 11:39 ` Koen Kooi @ 2011-01-15 11:50 ` Cui, Dexuan 2011-01-17 15:44 ` Tom Rini 0 siblings, 1 reply; 12+ messages in thread From: Cui, Dexuan @ 2011-01-15 11:50 UTC (permalink / raw) To: 'Koen Kooi'; +Cc: poky@yoctoproject.org Koen Kooi wrote: > Op 15 jan 2011, om 12:23 heeft Dexuan Cui het volgende geschreven: > >> {e}glibc should install the scsi/*.h files, which are needed by hal. >> Currently hal can build because eglibc-initial (which has its own >> do_install) installs the files. In future eglibc will have its own >> sysroot, so hal >> won't build. >> >> BTW: in OE side, eglibc's do_install also doesn't remove the files. > > As some background info: There's a conflict between > linux-libc-headers-dev and libc-dev when installing on the target. In > OE we do this instead: > > koen@dominion:/OE/org.openembedded.dev$ grep scsi > recipes/linux-libc-headers/ -rn > recipes/linux-libc-headers/linux-libc-headers_2.6.32.bb:23: rm -f > ${D}${exec_prefix}/include/scsi/scsi.h > recipes/linux-libc-headers/linux-libc-headers_2.6.31.bb:23: rm -f > ${D}${exec_prefix}/include/scsi/scsi.h > recipes/linux-libc-headers/linux-libc-headers_2.6.34.bb:42: rm -f > ${D}${exec_prefix}/include/scsi/scsi.h My understanding is: Linux kernel should not export these files: in OE side see 91d3d92a acked by you. :-) So {e}glibc should supply the files -- previously poky did supply, but 7379ee77 removed the files -- I think this is incorrect. BTW: in poky, we can see linux-libc-headers_2.6.36.bb also correctly removes the file. thanks -- Dexuan ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 2/2] libc-package.bbclass: should not rm scsi/*.h 2011-01-15 11:50 ` Cui, Dexuan @ 2011-01-17 15:44 ` Tom Rini 0 siblings, 0 replies; 12+ messages in thread From: Tom Rini @ 2011-01-17 15:44 UTC (permalink / raw) To: poky On 01/15/2011 04:50 AM, Cui, Dexuan wrote: > Koen Kooi wrote: >> Op 15 jan 2011, om 12:23 heeft Dexuan Cui het volgende geschreven: >> >>> {e}glibc should install the scsi/*.h files, which are needed by hal. >>> Currently hal can build because eglibc-initial (which has its own >>> do_install) installs the files. In future eglibc will have its own >>> sysroot, so hal >>> won't build. Unrelated, is it on the roadmap already to upgrade things to use devicekit rather than hal? >>> BTW: in OE side, eglibc's do_install also doesn't remove the files. >> >> As some background info: There's a conflict between >> linux-libc-headers-dev and libc-dev when installing on the target. In >> OE we do this instead: >> >> koen@dominion:/OE/org.openembedded.dev$ grep scsi >> recipes/linux-libc-headers/ -rn >> recipes/linux-libc-headers/linux-libc-headers_2.6.32.bb:23: rm -f >> ${D}${exec_prefix}/include/scsi/scsi.h >> recipes/linux-libc-headers/linux-libc-headers_2.6.31.bb:23: rm -f >> ${D}${exec_prefix}/include/scsi/scsi.h >> recipes/linux-libc-headers/linux-libc-headers_2.6.34.bb:42: rm -f >> ${D}${exec_prefix}/include/scsi/scsi.h > My understanding is: > Linux kernel should not export these files: in OE side see 91d3d92a acked by you. :-) > So {e}glibc should supply the files -- previously poky did supply, but 7379ee77 removed the files -- I think this is incorrect. > > BTW: in poky, we can see linux-libc-headers_2.6.36.bb also correctly removes the file. Correct. The kernel (incorrectly) re-introduced exporting <scsi/scsi.h>. -- Tom Rini Mentor Graphics Corporation ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2011-01-17 15:44 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-01-15 11:23 [PATCH 0/2] upgrade libc-package.bbclass; add libgcc Dexuan Cui 2011-01-15 11:23 ` [PATCH 1/2] libgcc: use the new recipe (rather than gcc-runtime) to install libgcc_s.so* and crt*.o Dexuan Cui 2011-01-15 11:37 ` Koen Kooi 2011-01-15 11:55 ` Cui, Dexuan 2011-01-15 13:12 ` Koen Kooi 2011-01-15 23:34 ` Richard Purdie 2011-01-16 6:13 ` Cui, Dexuan 2011-01-17 5:08 ` Cui, Dexuan 2011-01-15 11:23 ` [PATCH 2/2] libc-package.bbclass: should not rm scsi/*.h Dexuan Cui 2011-01-15 11:39 ` Koen Kooi 2011-01-15 11:50 ` Cui, Dexuan 2011-01-17 15:44 ` Tom Rini
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.