[yocto] MULTILIB builds with Yocto: Status?

Nick D'Ademo nickdademo at gmail.com
Sun Nov 24 06:43:32 PST 2013


Found the fix for these issues:

*The two offending Poky recipes are:*
recipes-multimedia/x264
recipes-multimedia/libav

*Files which need to be modified:*
x264_git.bb -> Add --libdir=${libdir} to EXTRA_OECONF variable
libav.inc -> Add --libdir=${libdir} AND --shlibdir=${libdir} to
EXTRA_OECONF variable

As you can see from the above fixes, the issue was that the configure step
was passing "usr/lib" instead of "usr/lib64" which ultimately caused the
"installed but not shipped" errors.

Are these actually bugs which should be patched in the recipes?

Nick




On Sun, Nov 24, 2013 at 8:53 PM, Nick D'Ademo <nickdademo at gmail.com> wrote:

> *A follow up to this (after further testing with the Yocto image classes -
> i.e. not my own custom image):*
>
> *After adding the following to local.conf (keeping all other variables to
> their defaults):*
>
> require conf/multilib.conf
> MULTILIBS = "multilib:lib32"
> DEFAULTTUNE_virtclass-multilib-lib32 = "x86"
>
> *Using the following Build configuration:*
> BB_VERSION        = "1.21.0"
> BUILD_SYS         = "i686-linux"
> NATIVELSBSTRING   = "Ubuntu-12.04"
> TARGET_SYS        = "x86_64-poky-linux"
> MACHINE           = "nuc"
> DISTRO            = "poky"
> DISTRO_VERSION    = "1.5+snapshot-20131124"
> TUNE_FEATURES     = "m64"
> TARGET_FPU        = ""
> meta
> meta-yocto
> meta-yocto-bsp    = "master:6a8307c35705bf6c9f49c368dd730deef3d2ae15"
> meta-intel
> meta-nuc          = "master:f5c2786e7ca190308523379706130e0c2be793c9"
>
> *The MULTILIB build is successful with the following images:*
> core-image-minimal
> core-image-base
> core-image-sato
>
> As stated in the meta-nuc README, I then also added the following to
> local.conf to enable hardware video acceleration:
> LICENSE_FLAGS_WHITELIST += "commercial"
>
> *Retrying the "core-image-sato" image build now results in errors:*
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> *ERROR: QA Issue: x264: Files/directories were installed but not shipped
> /usr/lib  /usr/lib/libx264.so.133  /usr/lib/libx264.so  /usr/lib/libx264.a
> /usr/lib/pkgconfig  /usr/lib/.debug  /usr/lib/pkgconfig/x264.pc
> /usr/lib/.debug/libx264.so.133ERROR: QA run found fatal errors. Please
> consider fixing them. ERROR: Function failed: do_package_qaERROR: Logfile
> of failure stored in:
> /home/nick/poky/test/tmp/work/x86_64-poky-linux/x264/r2265+gitAUTOINC+585324fee3-r0/temp/log.do_package.11458ERROR:
> Task 4913 (/home/nick/poky/meta/recipes-multimedia/x264/x264_git.bb
> <http://x264_git.bb>, do_package) failed with exit code '1' ERROR: Function
> failed: do_configure (log file is located at
> /home/nick/poky/test/tmp/work/x86_64-poky-linux/libav/0.8.8-r0/temp/log.do_configure.11457)ERROR:
> Logfile of failure stored in:
> /home/nick/poky/test/tmp/work/x86_64-poky-linux/libav/0.8.8-r0/temp/log.do_configure.11457
> Log data follows:| DEBUG: Executing python function sysroot_cleansstate|
> DEBUG: Python function sysroot_cleansstate finished| DEBUG: SITE files
> ['endian-little', 'common-linux', 'common-glibc', 'bit-64', 'x86_64-linux',
> 'common'] | DEBUG: Executing shell function autotools_preconfigure| DEBUG:
> Shell function autotools_preconfigure finished| DEBUG: Executing shell
> function do_configure| ERROR: libx264 not found| | If you think configure
> made a mistake, make sure you are using the latest | version from Git.  If
> the latest version fails, report the problem to the| libav-user at libav.org
> <libav-user at libav.org> mailing list or IRC #libav on irc.freenode.net
> <http://irc.freenode.net>. | Include the log file "config.log" produced by
> configure as this will help| solving the problem.| WARNING:
> /home/nick/poky/test/tmp/work/x86_64-poky-linux/libav/0.8.8-r0/temp/run.do_configure.11457:1
> exit 1 from |
> /home/nick/poky/test/tmp/work/x86_64-poky-linux/libav/0.8.8-r0/libav-0.8.8/configure
> --enable-shared --enable-pthreads --enable-gpl --enable-avfilter
> --cross-prefix=x86_64-poky-linux- --prefix=/usr --enable-avserver
> --enable-avplay --enable-libtheora --enable-libvorbis --arch=x86_64
> --target-os="linux" --enable-cross-compile --extra-cflags=" -O2 -pipe -g
> -feliminate-unused-debug-types -m64
> --sysroot=/home/nick/poky/test/tmp/sysroots/nuc" --extra-ldflags="-Wl,-O1
> -Wl,--hash-style=gnu -Wl,--as-needed"
> --sysroot="/home/nick/poky/test/tmp/sysroots/nuc" --enable-hardcoded-tables
> --enable-postproc --enable-bzlib --disable-libfaac --disable-libgsm
> --disable-indev=jack --disable-libmp3lame --disable-libschroedinger
> --disable-libvpx --enable-x11grab --enable-libx264 | ERROR: Function
> failed: do_configure (log file is located at
> /home/nick/poky/test/tmp/work/x86_64-poky-linux/libav/0.8.8-r0/temp/log.do_configure.11457)ERROR:
> Task 3456 (/home/nick/poky/meta/recipes-multimedia/libav/libav_0.8.8.bb
> <http://libav_0.8.8.bb>, do_configure) failed with exit code '1' NOTE:
> Tasks Summary: Attempted 5748 tasks of which 5744 didn't need to be rerun
> and 2 failed.No currently running tasks (5748 of 5775)Summary: 2 tasks
> failed:  /home/nick/poky/meta/recipes-multimedia/x264/x264_git.bb
> <http://x264_git.bb>, do_package
> /home/nick/poky/meta/recipes-multimedia/libav/libav_0.8.8.bb
> <http://libav_0.8.8.bb>, do_configureSummary: There were 4 ERROR messages
> shown, returning a non-zero exit code.*
>
>  *This appears to be a bug with the libx264 recipe.*
>
> Any thoughts or comments on this?
> Has anyone else tried MULTILIB builds with the NUC hardware (with hardware
> acceleration enabled)?
>
> Thanks,
> Nick
>
>
> On Thu, Nov 21, 2013 at 1:17 AM, Nick D'Ademo <nickdademo at gmail.com>wrote:
>
>> From what I've read so far, by adding the following to the local.conf
>> file (e.g. for a x86_64 build; in my case for the Intel NUC machine), Yocto
>> will build an image which also contains 32-bit compiled system libraries (+
>> any 32-bit packages/recipes you have specified):
>>
>> require conf/multilib.conf
>> MULTILIBS = "multilib:lib32"
>> DEFAULTTUNE_virtclass-multilib-lib32 = "x86"
>>
>> However, running BitBake with the above added to local.conf results in a
>> large number of build errors. To name a few:
>>
>> grub_2.0.0.bb:
>> ...
>> | checking whether the C compiler works... no
>> | configure: error: in
>> `/home/nick/poky/build/tmp/work/x86_64-poky-linux/grub/2.00-r1/build':
>> | configure: error: C compiler cannot create executables
>> ...
>>
>> ntp_4.2.6p5.bb:
>> ...
>> | configure: exit 77
>> | ERROR: oe_runconf failed
>> ...
>>
>> Is there something I'm missing here? What is the status of MULTILIB
>> support with Yocto? Has anyone attempted it lately?
>>
>> [The following guide seems a little outdated:
>> https://wiki.yoctoproject.org/wiki/Multilib]
>>
>> Thanks,
>> Nick
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20131125/d2326514/attachment.html>


More information about the yocto mailing list