| Summary: | [multilib] fonts corrupted with ipk build for 32bit connman against qemux86-64 | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] Meta-yocto | Reporter: | Jiajun Xu <jiajun.xu> | ||||
| Component: | meta-yocto | Assignee: | Edwin Zhai <edwin.zhai> | ||||
| Status: | RESOLVED FIXED | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | Medium | CC: | dongxiao.xu, edwin.zhai, lianhao.lu, poky.bs.watcher, poky.watcher, scott.a.garman, sgw, shane.wang, song.liu | ||||
| Version: | unspecified | ||||||
| Target Milestone: | 1.2.1 | ||||||
| Hardware: | x86 | ||||||
| OS: | Multiple | ||||||
| Whiteboard: | (P1) patch in master, May9, 2012 | ||||||
| OS type for building Yocto: | --- | Type of Regression: | --- | ||||
| Verified: | Documentation change: | --- | |||||
| Attachments: |
|
||||||
Dongxiao, can you help Edwin on this bug, since he is busy with other multilib ones? When I build the core-image-sato with your config, I met the following error. Did you meet it before? + multilib_tryout_dirs=' /opt/data/build-multilib/tmp/work/qemux86_64-poky-linux/core-image-sato-1.0-r0/multilib/lib32' | + '[' '!' -z /opt/data/build-multilib/tmp/work/qemux86_64-poky-linux/core-image-sato-1.0-r0/multilib_check.py ']' | + multilib_sanity_check /opt/data/build-multilib/tmp/work/qemux86_64-poky-linux/core-image-sato-1.0-r0/rootfs /opt/data/build-multilib/tmp/work/qemux86_64-poky-linux/core-image-sato-1.0-r0/multilib/lib32 | + multilib_generate_python_file | + cat | + echo /opt/data/build-multilib/tmp/work/qemux86_64-poky-linux/core-image-sato-1.0-r0/rootfs /opt/data/build-multilib/tmp/work/qemux86_64-poky-linux/core-image-sato-1.0-r0/multilib/lib32 | + python /opt/data/build-multilib/tmp/work/qemux86_64-poky-linux/core-image-sato-1.0-r0/multilib_check.py | Multilib check error: duplicate files /opt/data/build-multilib/tmp/work/qemux86_64-poky-linux/core-image-sato-1.0-r0/multilib/lib32/lib64/libudev.so.0 /opt/data/build-multilib/tmp/work/qemux86_64-poky-linux/core-image-sato-1.0-r0/rootfs/lib64/libudev.so.0 is not the same | | + exit 1 NOTE: package core-image-sato-1.0-r0: task do_rootfs: Failed ERROR: Task 8 (/home/dongxiao/poky/meta/recipes-sato/images/core-image-sato.bb, do_rootfs) failed with exit code '1' NOTE: Tasks Summary: Attempted 5864 tasks of which 1224 didn't need to be rerun and 1 failed. Sorry for noise, this is related with my wrong configuration. This bug caused by modules mechanism in pango:
pango utils, pango-querymodules produce a system config file to indicate where to find the modules when 1st boot, like /usr/{lib64|lib}/pango/1.6.0/modules/ for {x86-64|lib32}-pango respectively.
When installing lib32-pango on sato-image-qemux86-64, lib32 version of pango-querymodules override x86-64 version and produce a system config file with path for lib32 version of modules. Then x86-64 matchbox-desktop failed to open these modules and loaded corrupted fonts.
One possible solution is put the config file under $LIBDIR so different lib use different config file. Another solution is hacking pango's source code to open the modules under $LIBDIR directly without asking system config file.
Fixed @ http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=38467c458fdca97a5b0f2aa91de96f81330dc8de |
Created attachment 494 [details] snapshot of X window tree/branch: poky/denzil commit: 2c3d4f5beee8f57a74244495511b9294df1085ea With denzil branch, a multilib build for 32bit connman against qemux86-64 with ipk format could pass build. But when I start the image, the fonts in X window are corrupted. You could check it in attached snapshot. The configure I use to build the image: ####### MACHINE = "qemux86-64" require conf/multilib.conf MULTILIBS = "multilib:lib32" DEFAULTTUNE_virtclass-multilib-lib32 = "x86" IMAGE_INSTALL_append = "lib32-connman-gnome" #######