[poky] lib32-glibc headers populated instead glibc headers in the SDK toolchain - yocto 2.2.2

Kang Kai Kai.Kang at windriver.com
Sun Nov 18 17:43:36 PST 2018


On 2018/11/8 下午9:01, ravi chandran wrote:
> Hi all,
>
> I working as integrator in one project where both lib32 & lib64 need 
> to be supported. Hence, lib32-glibc & glibc both are there in yocto 
> build. There is an issue, I could not able to fix. In the final 
> toolchain, after running "bitbake <image> -c populate-sdk", it is 
> randomly, lib32-glibc headers are getting populated instead of glibc 
> headers.
>
> Ex: in the toolchain, <sysroots_dir>/aarch64/usr/include/endian.h - 
> lib32-glibc seen instead glibc header.
>
> Please let me know if anybody has any solution /work around for this.


Hi Ravi,

What image did you do populate_sdk? It turns out that no need to do 
populate_sdk for lib32 image. And the tasks has been removed by Robert 
in Yocto 2.5 for multilib images.

http://git.openembedded.org/openembedded-core/commit/?id=77144bc808be02deb3351c9c1bf5b4f2b8c3a6ec.

commit e153efde9754a650e555f46cba09680baabd7d7e
Author: Robert Yang <liezhi.yang at windriver.com>
Date:   Mon Jan 8 16:27:34 2018 +0800

     multilib.bbclass: deltask populate_sdk and populate_sdk_ext

     The "bitbake image -cpopulate_sdk/ext" generates SDK/eSDK for all 
multilib
     variants, so "bitbake lib32-image -cpopulate_sdk/ext" is not 
needed, and it
     doesn't work well, for example:

     MACHINE ?= "qemux86-64"
     require conf/multilib.conf
     MULTILIBS = "multilib:lib32"
     DEFAULTTUNE_virtclass-multilib-lib32 = "x86"

     $ bitbake lib32-core-image-minimal -cpopulate_sdk_ext
     [snip]
     Exception: FileExistsError: [Errno 17] File exists: 
'/buildarea/lyang1/test_q64/tmp/sysroots-components/core2-64/openssl/sysroot-providers/openssl10' 
-> 
'/buildarea/lyang1/test_q64/tmp/work/qemux86_64-pokymllib32-linux/lib32-core-image-minimal/1.0-r0/lib32-recipe-sysroot/sysroot-providers/openssl10'
     [snip]

     The problem is populate_sdk_ext installs all multilib variants, and
     extend_recipe_sysroot() handles foo-image depends lib32-foo-image, 
but doesn't
     handle lib32-foo-image depends foo-image, we can use a lot of trick 
ways to make
     it work:
     1) Get foo-image's RECIPE_SYSROOT when build lib32-foo-image
     2) Handle conflicts with foo-image.do_rootfs
     3) Handle conflicts when "bitbake lib32-foo-image foo-image 
-cpopulate_sdk_ext"

     And maybe other potential problems, this looks painful, so just 
delete the task.

     [YOCTO #12210]

     (From OE-Core rev: 77144bc808be02deb3351c9c1bf5b4f2b8c3a6ec)

     Signed-off-by: Robert Yang <liezhi.yang at windriver.com>
     Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>


Regards,
Kai


>
> Thanks in Advance,
> Ravi
>

-- 
Regards,
Neil | Kai Kang

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/poky/attachments/20181119/ea4f89e3/attachment.html>


More information about the poky mailing list