[yocto] [Yocto][multilib] No Manifest file generated from: lib32-alsa-lib

Måns Zigher mans.zigher at gmail.com
Wed Jun 5 05:04:04 PDT 2019


So running bitbake -e lib32-alsa-lib I can see the following

# $SSTATE_MANMACH [2 operations]
#   set? /home/extzig/Workspace/mozart-workspace/layers/poky/meta/classes/sstate.bbclass:54
#     "${SSTATE_PKGARCH}"
#   set sstate.bbclass:94
[__anon_105__home_extzig_Workspace_mozart_workspace_layers_poky_meta_classes_sstate_bbclass]
#     "armv7ahf-neon-mx8mm"
# pre-expansion value:
#   "armv7ahf-neon-mx8mm"
SSTATE_MANMACH="armv7ahf-neon-mx8mm"

So first the SSTATE_MANMACH variable is set to

SSTATE_MANMACH ?= "${SSTATE_PKGARCH}"

at line 54 in sstate.bbclass but then it will be overwritten at line 94 to

d.setVar('SSTATE_MANMACH', d.expand("${PACKAGE_ARCH}"))

The code that results in this looks like

    if bb.data.inherits_class('native', d):
        d.setVar('SSTATE_PKGARCH', d.getVar('BUILD_ARCH', False))
    elif bb.data.inherits_class('crosssdk', d):
        d.setVar('SSTATE_PKGARCH',
d.expand("${BUILD_ARCH}_${SDK_ARCH}_${SDK_OS}"))
    elif bb.data.inherits_class('cross', d):
        d.setVar('SSTATE_PKGARCH', d.expand("${BUILD_ARCH}_${TARGET_ARCH}"))
    elif bb.data.inherits_class('nativesdk', d):
        d.setVar('SSTATE_PKGARCH', d.expand("${SDK_ARCH}_${SDK_OS}"))
    elif bb.data.inherits_class('cross-canadian', d):
        d.setVar('SSTATE_PKGARCH', d.expand("${SDK_ARCH}_${PACKAGE_ARCH}"))
    elif bb.data.inherits_class('allarch', d) and
d.getVar("PACKAGE_ARCH") == "all":
        d.setVar('SSTATE_PKGARCH', "allarch")
    else:
        d.setVar('SSTATE_MANMACH', d.expand("${PACKAGE_ARCH}"))

So I guess either PACKAGE_ARCH is screwed up for alsa-lib or I should
not get to that else statement.

/Måns

Den ons 5 juni 2019 kl 13:39 skrev Måns Zigher <mans.zigher at gmail.com>:
>
> I have the following manifest files
>
> find . -name "manifest*-lib32-alsa-lib*"
> ./manifest-mimx8mm-lib32-alsa-lib.packagedata
> ./manifest-armv7ahf-neon-mx8mm-lib32-alsa-lib.package_write_rpm
> ./manifest-armv7ahf-neon-mx8mm-lib32-alsa-lib.package
>
> but find_sstate_manifest called from package_manager
>
> ./meta/lib/oe/package_manager.py:615:        manifest, d2 =
> oe.sstatesig.find_sstate_manifest(c, taskdepdata[dep][2], taskname, d,
> multilibs)
> ./meta/lib/oe/sstatesig.py:372:def find_sstate_manifest(taskdata,
> taskdata2, taskname, d, multilibcache):
>
> will only look for
>
> manifest-armv7at2hf-neon-lib32-alsa-lib.package_write_rpm
> manifest-armv7ahf-neon-lib32-alsa-lib.package_write_rpm
>
> I am not sure why the mx8mm is added to the lib32-alsa-lib manifest
> file since this is not added to any other package when building it for
> lib32.
>
> /Måns
>
> Den ons 5 juni 2019 kl 13:00 skrev Måns Zigher <mans.zigher at gmail.com>:
> >
> > I think this looks wrong
> > "manifest-x86_64_x86_64-nativesdk-lib32-alsa-lib.package_write_rpm" I
> > have not intentionally added lib32-alsa-lib to the nativesdk part so I
> > am not sure why it expects to find that?
> >
> > /Måns
> >
> > Den ons 5 juni 2019 kl 12:46 skrev Måns Zigher <mans.zigher at gmail.com>:
> > >
> > > When checking the build for lib32-alsa-lib there is no rpm package created
> > >
> > > deploy-rpms/armv7ahf_neon_mx8mm# ls
> > > lib32-alsa-conf-1.1.5-r0.armv7ahf_neon_mx8mm.rpm
> > > lib32-alsa-server-1.1.5-r0.armv7ahf_neon_mx8mm.rpm
> > > lib32-libasound2-1.1.5-r0.armv7ahf_neon_mx8mm.rpm
> > > lib32-libasound-dbg-1.1.5-r0.armv7ahf_neon_mx8mm.rpm
> > > lib32-libasound-dev-1.1.5-r0.armv7ahf_neon_mx8mm.rpm
> > >
> > > it matches the alsa-lib build also when checking the list of packages by running
> > >
> > > oe-pkgdata-util list-pkg-files -p lib32-alsa-lib and oe-pkgdata-util
> > > list-pkg-files -p alsa-lib
> > >
> > > there is a package lib32-alsa-lib and alsa-lib so why is there no rpm
> > > for this package? I would have thought that that should be the case?
> > >
> > > /Måns
> > >
> > > Den ons 5 juni 2019 kl 11:06 skrev Måns Zigher <mans.zigher at gmail.com>:
> > > >
> > > > Hi,
> > > >
> > > > I am trying to build an SDK where I have multilib enabled in my
> > > > local.conf but I am encountering this error message
> > > >
> > > > WARNING: strix-sdk-1.0-r0 do_populate_sdk: Manifest
> > > > /workdir/builds/imx8mm/tmp/sstate-control/manifest-x86_64_x86_64-nativesdk-lib32-alsa-lib.package_write_rpm
> > > > not found in mimx8mm aarch64-mx8mm armv7at2hf-neon armv7ahf-neon
> > > > armv7at2hf-vfp armv7ahf-vfp armv6thf-vfp armv6hf-vfp armv5tehf-vfp
> > > > armv5ehf-vfp armv5thf-vfp armv5hf-vfp allarch x86_64_x86_64-nativesdk
> > > > (variant 'lib32')?
> > > > ERROR: strix-sdk-1.0-r0 do_populate_sdk: No manifest generated from:
> > > > lib32-alsa-lib in
> > > > virtual:multilib:lib32:/workdir/layers/poky/meta/recipes-multimedia/alsa/alsa-lib_1.1.5.bb
> > > > ERROR: strix-sdk-1.0-r0 do_populate_sdk: Function failed: do_populate_sdk
> > > >
> > > > I am currently using poky sumo could not see that anything have
> > > > changed in alsa-lib except bumping it to 1.1.6 in thud. I have tried
> > > > go through the code in both
> > > >
> > > > ./poky/meta/lib/oe/package_manager.py
> > > >
> > > > and
> > > >
> > > > ./poky/meta/lib/oe/sstatesig.py
> > > >
> > > > to see if I could understand why there is no manifest file created for
> > > > lib32-alsa-lib but without any luck. What task should I run to create
> > > > the Manifest file? Any other pointers to where I should look to
> > > > understand this issue is appreciated.
> > > >
> > > > BR
> > > > Måns Zigher


More information about the yocto mailing list