[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