<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>10900</bug_id>
          
          <creation_ts>2017-01-09 16:03:49 +0000</creation_ts>
          <short_desc>selftest test_sstate_allarch_samesigs_multilib fails with &apos;nodistro&apos; distro</short_desc>
          <delta_ts>2017-09-13 15:37:51 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>10</classification_id>
          <classification>QA/Testing</classification>
          <product>Build Testing</product>
          <component>general</component>
          <version>2.3</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>Medium+</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>2.4 M4</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Leonardo Sandoval Gonzalez">leonardo.sandoval.gonzalez</reporter>
          <assigned_to name="Leonardo Sandoval Gonzalez">leonardo.sandoval.gonzalez</assigned_to>
          <cc>benjamin.esquivel</cc>
    
    <cc>ross.burton</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>No (bug/feature does not impact docs)</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>69621</commentid>
    <comment_count>0</comment_count>
    <who name="Leonardo Sandoval Gonzalez">leonardo.sandoval.gonzalez</who>
    <bug_when>2017-01-09 16:03:49 +0000</bug_when>
    <thetext>if oe-selftest --run-all is run using DISTRO=&apos;nodistro&apos;, the following error is observed on output. Code should either skip (base on a missing distro feature, for example) it or the bitbake target changed in order to avoid the failure.

----snip----
======================================================================
FAIL [29.565s]: test_sstate_allarch_samesigs_multilib (oeqa.selftest.sstatetests.SStateTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File &quot;/home/ab/autobuilder/yocto-worker/nightly-oe-selftest-nodistro/build/meta/lib/oeqa/selftest/sstatetests.py&quot;, line 359, in test_sstate_allarch_samesigs_multilib
    self.sstate_allarch_samesigs(configA, configB)
  File &quot;/home/ab/autobuilder/yocto-worker/nightly-oe-selftest-nodistro/build/meta/lib/oeqa/selftest/sstatetests.py&quot;, line 368, in sstate_allarch_samesigs
    bitbake(&quot;world meta-toolchain -S none&quot;)
  File &quot;/home/ab/autobuilder/yocto-worker/nightly-oe-selftest-nodistro/build/meta/lib/oeqa/utils/commands.py&quot;, line 143, in bitbake
    return runCmd(cmd, ignore_status, timeout, **options)
  File &quot;/home/ab/autobuilder/yocto-worker/nightly-oe-selftest-nodistro/build/meta/lib/oeqa/utils/commands.py&quot;, line 121, in runCmd
    raise AssertionError(&quot;Command &apos;%s&apos; returned non-zero exit status %d:\n%s&quot; % (command, result.status, result.output))
AssertionError: Command &apos;bitbake  world meta-toolchain -S none&apos; returned non-zero exit status 1:
NOTE: Started PRServer with DBfile: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest-nodistro/build/build/cache/prserv.sqlite3, IP: 127.0.0.1, PORT: 33145, PID: 20160
Parsing recipes...done.
Parsing of 865 .bb files complete (0 cached, 865 parsed). 2181 targets, 217 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
ERROR: Nothing PROVIDES &apos;virtual/lib32-libgl&apos; (but virtual:multilib:lib32:/home/ab/autobuilder/yocto-worker/nightly-oe-selftest-nodistro/build/meta/recipes-graphics/waffle/waffle_1.5.2.bb DEPENDS on or otherwise requires it). Close matches:
  virtual/lib32-libsdl
  virtual/lib32-libc
  virtual/lib32-libsdl2
ERROR: Required build target &apos;lib32-meta-world-pkgdata&apos; has no buildable providers.
Missing or unbuildable dependency chain was: [&apos;lib32-meta-world-pkgdata&apos;, &apos;meta-world-pkgdata&apos;, &apos;lib32-waffle&apos;, &apos;virtual/lib32-libgl&apos;]
----snip----</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69622</commentid>
    <comment_count>1</comment_count>
    <who name="Leonardo Sandoval Gonzalez">leonardo.sandoval.gonzalez</who>
    <bug_when>2017-01-09 16:06:55 +0000</bug_when>
    <thetext>Another test failing with the same conditions (&apos;nodistro&apos;)

----snip----
FAIL [27.996s]: test_sstate_sametune_samesigs (oeqa.selftest.sstatetests.SStateTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File &quot;/home/ab/autobuilder/yocto-worker/nightly-oe-selftest-nodistro/build/meta/lib/oeqa/utils/decorators.py&quot;, line 109, in wrapped_f
    return func(*args, **kwargs)
  File &quot;/home/ab/autobuilder/yocto-worker/nightly-oe-selftest-nodistro/build/meta/lib/oeqa/selftest/sstatetests.py&quot;, line 415, in test_sstate_sametune_samesigs
    bitbake(&quot;world meta-toolchain -S none&quot;)
  File &quot;/home/ab/autobuilder/yocto-worker/nightly-oe-selftest-nodistro/build/meta/lib/oeqa/utils/commands.py&quot;, line 143, in bitbake
    return runCmd(cmd, ignore_status, timeout, **options)
  File &quot;/home/ab/autobuilder/yocto-worker/nightly-oe-selftest-nodistro/build/meta/lib/oeqa/utils/commands.py&quot;, line 121, in runCmd
    raise AssertionError(&quot;Command &apos;%s&apos; returned non-zero exit status %d:\n%s&quot; % (command, result.status, result.output))
AssertionError: Command &apos;bitbake  world meta-toolchain -S none&apos; returned non-zero exit status 1:
NOTE: Started PRServer with DBfile: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest-nodistro/build/build/cache/prserv.sqlite3, IP: 127.0.0.1, PORT: 37573, PID: 18893
Parsing recipes...done.
Parsing of 865 .bb files complete (0 cached, 865 parsed). 2181 targets, 216 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
ERROR: Nothing PROVIDES &apos;virtual/lib32-libgl&apos; (but virtual:multilib:lib32:/home/ab/autobuilder/yocto-worker/nightly-oe-selftest-nodistro/build/meta/recipes-graphics/waffle/waffle_1.5.2.bb DEPENDS on or otherwise requires it). Close matches:
  virtual/lib32-libsdl
  virtual/lib32-libc
  virtual/lib32-libsdl2
ERROR: Required build target &apos;meta-world-pkgdata&apos; has no buildable providers.
Missing or unbuildable dependency chain was: [&apos;meta-world-pkgdata&apos;, &apos;lib32-meta-world-pkgdata&apos;, &apos;lib32-waffle&apos;, &apos;virtual/lib32-libgl&apos;]

----snip----</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76228</commentid>
    <comment_count>2</comment_count>
    <who name="Leonardo Sandoval Gonzalez">leonardo.sandoval.gonzalez</who>
    <bug_when>2017-08-29 14:12:14 +0000</bug_when>
    <thetext>Instead of using oe-selftest, one can reproduce it with the following conf

DISTRO = &quot;nodistro&quot;
require conf/multilib.conf
MULTILIBS = &quot;multilib:lib32&quot;
DEFAULTTUNE_virtclass-multilib-lib32 = &quot;x86&quot;

then executing

$ bitbake world  -S none
Loading cache: 100% |##########################################################################################################################################################################################################| Time: 0:00:03
Loaded 1267 entries from dependency cache.
NOTE: Resolving any missing task queue dependencies

Build Configuration:
BB_VERSION        = &quot;1.35.0&quot;
BUILD_SYS         = &quot;x86_64-linux&quot;
NATIVELSBSTRING   = &quot;opensuse-42.2&quot;
TARGET_SYS        = &quot;i586-oe-linux&quot;
MACHINE           = &quot;qemux86&quot;
DISTRO            = &quot;nodistro&quot;
DISTRO_VERSION    = &quot;nodistro.0&quot;
TUNE_FEATURES     = &quot;m32 i586&quot;
TARGET_FPU        = &quot;&quot;
meta
meta-poky
meta-yocto-bsp    = &quot;dev:55b68d62a3e1986f5c4482e500ed883c35976673&quot;

Initialising tasks: 100% |#####################################################################################################################################################################################################| Time: 0:00:07
NOTE: Reparsing files to collect dependency data
Writing locked sigs to /home/lsandov1/poky-testing/poky-selftest-sstate-nodistro/build/locked-sigs.inc
NOTE: Tasks Summary: Attempted 0 tasks of which 0 didn&apos;t need to be rerun and all succeeded.
lsandov1@yctb05:~/poky-testing/poky-selftest-sstate-nodistro/build&gt; bitbake world  -S none
Loading cache: 100% |##########################################################################################################################################################################################################| Time: 0:00:05
Loaded 2076 entries from dependency cache.
NOTE: Resolving any missing task queue dependencies
ERROR: Nothing PROVIDES &apos;virtual/lib32-libgl&apos; (but virtual:multilib:lib32:/home/lsandov1/poky-testing/poky-selftest-sstate-nodistro/meta/recipes-graphics/waffle/waffle_1.5.2.bb DEPENDS on or otherwise requires it). Close matches:
  virtual/lib32-libsdl
  virtual/lib32-libc
  virtual/lib32-libsdl2
ERROR: Required build target &apos;lib32-meta-world-pkgdata&apos; has no buildable providers.
Missing or unbuildable dependency chain was: [&apos;lib32-meta-world-pkgdata&apos;, &apos;meta-world-pkgdata&apos;, &apos;lib32-waffle&apos;, &apos;virtual/lib32-libgl&apos;]

Summary: There were 2 ERROR messages shown, returning a non-zero exit code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76795</commentid>
    <comment_count>3</comment_count>
    <who name="Leonardo Sandoval Gonzalez">leonardo.sandoval.gonzalez</who>
    <bug_when>2017-09-13 15:37:51 +0000</bug_when>
    <thetext>Fixed by

commit 1f3e46b6a1d12a597aa9baf82c91db12a8513f67
Author: Leonardo Sandoval &lt;leonardo.sandoval.gonzalez@linux.intel.com&gt;
Date:   Thu Aug 31 07:00:41 2017 -0700

    waffle: fix REQUIRED_DISTRO_FEATURES and PACKAGECONFIG virtual/libgl dependencies
    
    Waffle&apos;s REQUIRED_DISTRO_FEATURES statement looks into DEPENDS and if
    virtual/libgl is present, it includes opengl as distro feature. However,
    in a multilib environment, recipes provides virtual/${MLPREFIX}libgl,
    thus waffle recipe needs to include the prefix. Also PACKAGECONFIG
    statements need this change in order to properly include the libgl
    dependency.
    
    The way this error showed up was in a multilib environment and a distro
    not containing opengl, i.e. nodistro, leading the following error when
    building world -S none (because opengl was not included as required distro
    feature):
    
        ERROR: Nothing PROVIDES &apos;virtual/lib32-libgl&apos; (but virtual:multilib:lib32:/meta/recipes-graphics/waffle/waffle_1.5.2.bb DEPENDS on or otherwise requires it). Close matches:
          virtual/lib32-libsdl
          virtual/lib32-libc
          virtual/lib32-libsdl2
        ERROR: Required build target &apos;lib32-meta-world-pkgdata&apos; has no buildable providers.
        Missing or unbuildable dependency chain was: [&apos;lib32-meta-world-pkgdata&apos;, &apos;meta-world-pkgdata&apos;, &apos;lib32-waffle&apos;, &apos;virtual/lib32-libgl&apos;]
    
        Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
    
    [YOCTO #10900]
    
    (From OE-Core rev: 2e3344a3b6d5c709ab0d368dd171240ab5cc6e22)</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>