[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