Bug 2356 - [multilib] fonts corrupted with ipk build for 32bit connman against qemux86-64
Summary: [multilib] fonts corrupted with ipk build for 32bit connman against qemux86-64
Status: RESOLVED FIXED
Alias: None
Product: Meta-yocto
Classification: Build System, Metadata & Runtime
Component: meta-yocto (show other bugs)
Version: unspecified
Hardware: x86 Multiple
: Medium normal
Target Milestone: 1.2.1
Assignee: Edwin Zhai
QA Contact:
URL:
Whiteboard: (P1) patch in master, May9, 2012
Depends on:
Blocks:
 
Reported: 2012-04-20 05:48 UTC by Jiajun Xu
Modified: 2012-05-14 18:27 UTC (History)
9 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: ---


Attachments
snapshot of X window (72.28 KB, text/plain)
2012-04-20 05:48 UTC, Jiajun Xu
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jiajun Xu 2012-04-20 05:48:41 UTC
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"
#######
Comment 1 Shane Wang 2012-04-20 06:48:52 UTC
Dongxiao, can you help Edwin on this bug, since he is busy with other multilib ones?
Comment 2 Dongxiao Xu 2012-04-22 07:50:56 UTC
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.
Comment 3 Dongxiao Xu 2012-04-22 08:23:10 UTC
Sorry for noise, this is related with my wrong configuration.
Comment 4 Edwin Zhai 2012-04-25 05:50:16 UTC
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.