Re: [Dizzy] Multilib in Poky

Paul Eggleton

Hi Rebecca,

On Monday 13 April 2015 05:03:00 Chang, Rebecca Swee Fun wrote:
I am building a MACHINE = "qemux86" image using Poky v1.7.1 with multilib
feature. I would like the image generated to use glibc as the main libc and
uclibc in lib32 multilib. Here are my settings in build/local.conf:

# Multilib Configurations
require conf/multilib.conf
MULTILIBS = "multilib:lib32"
DEFAULTTUNE_virtclass-multilib-lib32 = "x86"
baselib_virtclass-multilib-lib32 = "lib32"
LIBCEXTENSION_virtclass-multilib-lib32 = "-uclibc"
LIBCOVERRIDE_virtclass-multilib-lib32 = ":libc-uclibc"
PREFERRED_PROVIDER_virtual/lib32-libc ?= "uclibc"
PREFERRED_PROVIDER_virtual/lib32-libiconv ?= "libiconv"
PREFERRED_PROVIDER_virtual/lib32-libintl ?= "gettext"
USE_NLS_virtclass-multilib-lib32 ?= "no"
CXXFLAGS_append_virtclass-multilib-lib32 = " -fvisibility-inlines-hidden"
IMAGE_LINGUAS_virtclass-multilib-lib32 = ""
LIBC_DEPENDENCIES_virtclass-multilib-lib32 = "uclibc uclibc-dbg uclibc-dev
uclibc-thread-db" PTEST_ENABLED_virtclass-multilib-lib32 = ""

When I run BitBake to build a Sato image, Bitbake prompt the following

Parsing of 893 .bb files complete (0 cached, 893 parsed). 2181 targets, 174
skipped, 0 masked, 0 errors. NOTE: Resolving any missing task queue
ERROR: Nothing PROVIDES 'lib32-glibc'
ERROR: lib32-glibc was skipped: incompatible with target linux-uclibc
ERROR: Required build target 'core-image-sato' has no buildable providers.
Missing or unbuildable dependency chain was: ['core-image-sato',
'lib32-glibc'] Summary: There were 2 ERROR messages shown, returning a
non-zero exit code.

While the same configurations for multilib was run on Poky Daisy branch,
however we don't hit this problem. From the Reference Manual, I know that
as we migrate to YP version 1.7, eglibc 3.19 has been replaced with glibc
2.20. Could this be the reason of the broken multilib features?

How should I resolve this? How should I exclude the "lib32-glibc" package
from the build? Thanks in advance.
I have reproduced this; it appears uclibc isn't actually being selected
properly for the multilib. I've filed a bug with some details:



Paul Eggleton
Intel Open Source Technology Centre

Join { to automatically receive all group messages.