Wind River Support Network

HomeDefectsLIN6-7741
Fixed

LIN6-7741 : CLONE SDK missing header file in usr/include, alsa-lib

Created: Jun 20, 2014    Updated: Dec 3, 2018
Resolved Date: Jun 29, 2014
Found In Version: 6.0.0.6
Fix Version: 6.0.0.10
Severity: Standard
Applicable for: Wind River Linux 6
Component/s: Build & Config

Description

Customer noticed that asoundlib.h was missing from the sysroot when working on compiling against 5.0. 
•	Initially it was tracked down to alsa-lib missing from the image.
•	Appended that to IMAGE_INSTALL to add it to their image.
•	Verified that libasound.so made it to the image distribution, so it looks like that went alright, but asoundlib.h is still missing. 

Went looking for that file to find any clues.  Here are the locations where asoundlib.h was found under bitbake_build/tmp: 
./work/atom-wrs-linux/alsa-lib-1.0.25-r2/sysroot-destdir/usr/include/alsa/asoundlib.h
./work/atom-wrs-linux/alsa-lib-1.0.25-r2/sysroot-destdir/usr/include/sys/asoundlib.h
./work/atom-wrs-linux/alsa-lib-1.0.25-r2/package/usr/include/alsa/asoundlib.h
./work/atom-wrs-linux/alsa-lib-1.0.25-r2/package/usr/include/sys/asoundlib.h
./work/atom-wrs-linux/alsa-lib-1.0.25-r2/packages-split/alsa-dev/usr/include/alsa/asoundlib.h
./work/atom-wrs-linux/alsa-lib-1.0.25-r2/packages-split/alsa-dev/usr/include/sys/asoundlib.h
bitbake_build/tmp/sysroots/i686-linux/usr/include/alsa/asoundlib.h
bitbake_build/tmp/sysroots/i686-linux/usr/include/sys/asoundlib.h
./sysroots/jd-atom/usr/include/alsa/asoundlib.h
./sysroots/jd-atom/usr/include/sys/asoundlib.h
./sysroots/i686-linux/usr/include/alsa/asoundlib.h
./sysroots/i686-linux/usr/include/sys/asoundlib.h

It doesn't seem asoundlib.h from the sysroots/jd-atom directory highlighted above is making it to the sdk tarball (wrlinux-5.0.1.14-eglibc-i686-jd_atom-wrlinux-image-glibc-core-sdk.tar.bz2). Attached are the log and run files related to alsa-lib.

It looks like the header file in question comes from alsa-dev package:

packages-split/alsa-dev/usr/include/alsa/asoundlib.h

The default rule is to include all dev packages in the sdk:
layers/oe-core/meta/classes/image.bbclass:SDKIMAGE_FEATURES ??= "dev-pkgs dbg-pkgs" 

Workaround

The header files shows up in both rootfs and SDK if you build your project with alsa-dev package.
However the customer wants the headers only in the SDK and not on target. 
This gives the impression that you can build binaries on target and they don't want to do that.

Steps to Reproduce

1. After you have successfully configured and built a platform project with alsa-lib package added, you need to export the SDK for application development.
2. Generate SDK: $ make export-sdk
3. Validate asoundlib.h gets correctly added to the local sysroot:
$ find bitbake_build/tmp/sysroots/ -name "asoundlib.h"
bitbake_build/tmp/sysroots/{cpu_platform}/usr/include/asoundlib.h

4. Run this script found in export dir to install the SDK.
5. Once complete, look for the missing header file in the SDK: $find sysroots/ -name asoundlib.h

*** Expected result:
 The header file (asoundlib.h) is found in sysroot within the SDK

*** Actual result:
 The header file is missing from the SDK

Other Downloads


Live chat
Online