[oe] [2011.03-maintenance] unsatisfied dependencies to libgcc

Khem Raj raj.khem at gmail.com
Thu Aug 11 14:30:44 UTC 2011


On Thursday, August 11, 2011 10:27:53 AM Steffen Sledz wrote:
> On 09.08.2011 11:23, Steffen Sledz wrote:
> > On 07.08.2011 22:46, Tom Rini wrote:
> >> On Sun, Aug 7, 2011 at 10:37 AM, Steffen Sledz <sledz at dresearch-fe.de> 
wrote:
> >>> Am 05.08.2011 09:13, schrieb Steffen Sledz:
> >>>> On 04.08.2011 08:29, Steffen Sledz wrote:
> >>>>> In the last days we switched our local development from an older
> >>>>> oe-dev master to 2011.03-maintenance branch and hit an annoying
> >>>>> problem.
> >>>>> 
> >>>>> The test builds on various developer machines were successful
> >>>>> but the build on our continuous integration server (with
> >>>>> exactly the same scripting) ended up with a lot of>>>>> 
> >>>>> |  * satisfy_dependencies_for: Cannot satisfy the following
> >>>>> |  dependencies for lighttpd: *    libstdc++6 (>= 4.3.3) *  
> >>>>> |        libgcc1 (>= 4.3.3) *    libgcc1 (>= 4.3.3) * *
> >>>>> |  opkg_install_cmd: Cannot install package lighttpd.
> >>>>> 
> >>>>> errors.
> >>>>> 
> >>>>> After some searching we found that there was no
> >>>>> libgcc1_4.3.3-r24.2.6_armv5te.ipk in the deploy area.
> >>>>> 
> >>>>> I'm not sure which package should produce this but i guess it
> >>>>> should come from gcc-cross-4.3.3 (because its recipe version is
> >>>>> r24.2.6 in opposite to gcc-4.3.3 r24.1.6).
> >>>>> 
> >>>>> Looking into the log i hit the fact that the do_rootfs stage for
> >>>>> the image was started *before* the do_package_stage of
> >>>>> gcc-cross_4.3.3.bb was succeeded.
> >>>>> 
> >>>>> Any ideas?
> >>>>> 
> >>>>> PS: Bitbaking gcc-cross explicitly before bitbaking the image
> >>>>> wors as a workaround for us at the moment.>>>> 
> >>>> I made some research in this and there is something i do not
> >>>> understand.
> >>>> 
> >>>> The task-depends.dot generated by bitbake -g (says
> >>>> 
> >>>>   "console-image.do_rootfs" [label="console-image
> >>>>   do_rootfs\n0:1.0-r0\n/home/sledz/work/angstrom-setup-scripts/
> >>>>   sources/openembedded/recipes/images/console-image.bb"]
> >>>>   "console-image.do_rootfs" -> "lzo-native.do_populate_sysroot"
> >>>>   "console-image.do_rootfs" -> "bluez4.do_populate_sysroot"
> >>>>   ...
> >>>> 
> >>>> So do_rootfs depends only on do_populate_sysroot stages. But the
> >>>> do_rootfs stage itself uses opkg to install the packages into the
> >>>> image.
> >>>> 
> >>>> In my understanding this means that all the ipk files need to be
> >>>> available. But this is not guaranteed by the reported
> >>>> dependencies.
> >>>> 
> >>>> A misunderstanding of mine? Or a bug?
> >>> 
> >>> Ping!
> >>> 
> >>> Did everyone read my message?
> >>> 
> >>> If it really is a misunderstanding of mine, please let me know. But
> >>> if i'm right this seems to be a critical problem.>> 
> >> It sounds both strange and a correct reading of the task lists, iirc.
> >> Did we fix this in oe.dev perhaps and just need to pull a change over?
> > 
> > The mentioned dependency problem was a misinterpretation of the
> > task-depends.dot.> 
> > Aside from the do_populate_sysroot there are the following additional 
dependencies:
> >  "console-image.do_rootfs" ->
> >  "console-image.do_package_update_index_ipk"
> >  ...
> >  "console-image.do_package_update_index_ipk" ->
> >  "gcc-cross.do_package_write_ipk" ...
> >  "gcc-cross.do_package_write_ipk" -> "gcc-cross.do_package"
> > 
> > The problem seems to be located more likely somewhere inside the
> > gcc-4.3.3-r24.1/gcc-cross-4.3.3-r24.2 recipes. There seems to be a
> > confusion between those which leads to undetermined results.
> > 
> > E.g. the content of
> > tmp.6/work/armv5te-angstrom-linux-gnueabi/gcc-cross-4.3.3-r24.2/temp/lo
> > g.do_package_write_ipk.22477 is:
> > ------------------------>snip<------------------------
> > Packaged contents of libstdc++-dev into
> > /home/sledz/work/HydraIP/OE/tmp.6/deploy/glibc/ipk/armv5te/libstdc++-de
> > v_4.3.3-r24.1.6_armv5te.ipk Packaged contents of libgcc-dev into
> > /home/sledz/work/HydraIP/OE/tmp.6/deploy/glibc/ipk/armv5te/libgcc-dev_4
> > .3.3-r24.1.6_armv5te.ipk
> > ------------------------>snip<------------------------
> > 
> > The do_package_write_ipk generates ipk-file with *r24.1.6* (which is the
> > PR of gcc) and not *r24.2.6* (which is the PR of gcc).
> > 
> > BTW: Which of the two recipes (gcc/gcc-cross) should provide the libgcc
> > ipk (in my case none of it did)?


It should be probided by both. We provide it in gcc-cross so that people dont
have to build target gcc just for libgcc.

> After some bb recipe updates there is a new error of this type.
> 
> |  * check_data_file_clashes: Package libgcc-s-dev wants to install file
> |  /CACHE/hudson/jobs/HydraIP_Linux_release_image/workspace/OE/tmp.6/roo
> |  tfs/hydraip-hipox-devimage/usr/lib/libgcc_s.so|  
> | 	But that file is already provided by package  * libgcc-dev
> | 	
> |  * opkg_install_cmd: Cannot install package libsqlite3-dev.
> :

what changes did you do ?
libgcc dependencies get encoded into ipks
so you might have to regenerate all ipks for best results.

I dont know yet what the problem you are seeing could be. I do not see it here
locally

> :(




More information about the Openembedded-devel mailing list