[oe] [2011.03-maintenance] unsatisfied dependencies to libgcc
Steffen Sledz
sledz at dresearch-fe.de
Fri Aug 12 05:56:06 UTC 2011
On 11.08.2011 16:30, Khem Raj wrote:
> 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.
But it isn't provided. :(
Here are related log files of both from a clean build (HEAD of 2011.03-maintenance branch, no modification to the gcc recipes):
----------------------->snip<----------------------
> cat tmp.6/work/armv5te-angstrom-linux-gnueabi/gcc-4.3.3-r24.1/temp/log.do_package_write_ipk.4930
Packaged contents of gcc into /home/sledz/work/HydraIP/OE/tmp.6/deploy/glibc/ipk/armv5te/gcc_4.3.3-r24.1.6_armv5te.ipk
Packaged contents of gcc-symlinks into /home/sledz/work/HydraIP/OE/tmp.6/deploy/glibc/ipk/armv5te/gcc-symlinks_4.3.3-r24.1.6_armv5te.ipk
Packaged contents of g++ into /home/sledz/work/HydraIP/OE/tmp.6/deploy/glibc/ipk/armv5te/g++_4.3.3-r24.1.6_armv5te.ipk
Packaged contents of g++-symlinks into /home/sledz/work/HydraIP/OE/tmp.6/deploy/glibc/ipk/armv5te/g++-symlinks_4.3.3-r24.1.6_armv5te.ipk
Packaged contents of cpp into /home/sledz/work/HydraIP/OE/tmp.6/deploy/glibc/ipk/armv5te/cpp_4.3.3-r24.1.6_armv5te.ipk
Packaged contents of cpp-symlinks into /home/sledz/work/HydraIP/OE/tmp.6/deploy/glibc/ipk/armv5te/cpp-symlinks_4.3.3-r24.1.6_armv5te.ipk
Packaged contents of g77-symlinks into /home/sledz/work/HydraIP/OE/tmp.6/deploy/glibc/ipk/armv5te/g77-symlinks_4.3.3-r24.1.6_armv5te.ipk
Packaged contents of gfortran into /home/sledz/work/HydraIP/OE/tmp.6/deploy/glibc/ipk/armv5te/gfortran_4.3.3-r24.1.6_armv5te.ipk
Packaged contents of gfortran-symlinks into /home/sledz/work/HydraIP/OE/tmp.6/deploy/glibc/ipk/armv5te/gfortran-symlinks_4.3.3-r24.1.6_armv5te.ipk
Packaged contents of gcov into /home/sledz/work/HydraIP/OE/tmp.6/deploy/glibc/ipk/armv5te/gcov_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
Packaged contents of libstdc++-dev into /home/sledz/work/HydraIP/OE/tmp.6/deploy/glibc/ipk/armv5te/libstdc++-dev_4.3.3-r24.1.6_armv5te.ipk
Packaged contents of libgfortran-dev into /home/sledz/work/HydraIP/OE/tmp.6/deploy/glibc/ipk/armv5te/libgfortran-dev_4.3.3-r24.1.6_armv5te.ipk
Packaged contents of gcc-doc into /home/sledz/work/HydraIP/OE/tmp.6/deploy/glibc/ipk/armv5te/gcc-doc_4.3.3-r24.1.6_armv5te.ipk
> cat tmp.6/work/armv5te-angstrom-linux-gnueabi/gcc-cross-4.3.3-r24.2/temp/log.do_package_write_ipk.22477
Packaged contents of libstdc++-dev into /home/sledz/work/HydraIP/OE/tmp.6/deploy/glibc/ipk/armv5te/libstdc++-dev_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<----------------------
I've frozen this build and can provide additional info if you need more.
>> 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 ?
Only updated the version of sqlite3 by removing DP="-1" from the sqlite3_3.7.5.bb recipe.
> 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
Just a guess. Could it be a problem with tasks running in parallel.
Regards,
Steffen
--
DResearch Fahrzeugelektronik GmbH
Otto-Schmirgal-Str. 3, 10319 Berlin, Germany
Tel: +49 30 515932-237 mailto:sledz at dresearch-fe.de
Fax: +49 30 515932-299
Geschäftsführer: Dr. Michael Weber, Werner Mögle;
Amtsgericht Berlin Charlottenburg; HRB 130120 B;
Ust.-IDNr. DE273952058
More information about the Openembedded-devel
mailing list