<?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>14145</bug_id>
          
          <creation_ts>2020-12-07 20:39:39 +0000</creation_ts>
          <short_desc>pylibmount PACKAGECONFIG in util-linux causes circular dependency</short_desc>
          <delta_ts>2026-04-30 15:23:43 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>7</classification_id>
          <classification>Build System, Metadata &amp; Runtime</classification>
          <product>OE-Core</product>
          <component>core</component>
          <version>unspecified</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>OBSOLETE</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>Medium</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>5.99</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Diego">diego.ml</reporter>
          <assigned_to name="Unassigned">unassigned</assigned_to>
          <cc>louis.rannou</cc>
    
    <cc>mathieu.dubois-briand</cc>
    
    <cc>meta.mr.watcher</cc>
    
    <cc>meta.watcher</cc>
    
    <cc>randy.macleod</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>88731</commentid>
    <comment_count>0</comment_count>
    <who name="Diego">diego.ml</who>
    <bug_when>2020-12-07 20:39:39 +0000</bug_when>
    <thetext>Enabling the pylibmount of PACKAGECONFIG in util-linux causes a circular dependency:
- python3 depends on util-linux:
https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/recipes-devtools/python/python3_3.8.5.bb?h=gatesgarth#n73
- while util-linux with pylibmount enabled depends on python3:
https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/recipes-core/util-linux/util-linux_2.36.bb?h=gatesgarth#n139


The build fails with:
========
ERROR: 216 unbuildable tasks were found.###################################                                                                  | ETA:  0:00:00
These are usually caused by circular dependencies and any circular dependency chains found will be printed below. Increase the debug level to see a list of unbuildable tasks.

Identifying dependency loops (this may take a short while)...

ERROR:
Dependency loop #1 found:
  Task virtual:native:/opt/yocto/sources/poky/meta/recipes-core/util-linux/util-linux_2.36.bb:do_compile (dependent Tasks [&apos;util-linux_2.36.bb:do_configure&apos;])
  Task virtual:native:/opt/yocto/sources/poky/meta/recipes-core/util-linux/util-linux_2.36.bb:do_install (dependent Tasks [&apos;util-linux_2.36.bb:do_compile&apos;])
  Task virtual:native:/opt/yocto/sources/poky/meta/recipes-core/util-linux/util-linux_2.36.bb:do_populate_sysroot (dependent Tasks [&apos;util-linux_2.36.bb:do_install&apos;])
  Task virtual:native:/opt/yocto/sources/poky/meta/recipes-devtools/python/python3_3.8.5.bb:do_prepare_recipe_sysroot (dependent Tasks [&apos;util-linux_2.36.bb:do_populate_sysroot&apos;, &apos;gnu-config_git.bb:do_populate_sysroot&apos;, &apos;autoconf_2.69.bb:do_populate_sysroot&apos;, &apos;automake_1.16.2.bb:do_populate_sysroot&apos;, &apos;readline_8.0.bb:do_populate_sysroot&apos;, &apos;zlib_1.2.11.bb:do_populate_sysroot&apos;, &apos;gdbm_1.18.1.bb:do_populate_sysroot&apos;, &apos;xz_5.2.5.bb:do_populate_sysroot&apos;, &apos;bzip2_1.0.8.bb:do_populate_sysroot&apos;, &apos;openssl_1.1.1g.bb:do_populate_sysroot&apos;, &apos;pkgconfig_git.bb:do_populate_sysroot&apos;, &apos;libffi_3.3.bb:do_populate_sysroot&apos;, &apos;libtool-native_2.4.6.bb:do_populate_sysroot&apos;, &apos;python3_3.8.5.bb:do_fetch&apos;, &apos;libnsl2_git.bb:do_populate_sysroot&apos;, &apos;sqlite3_3.33.0.bb:do_populate_sysroot&apos;, &apos;libtirpc_1.2.6.bb:do_populate_sysroot&apos;])
  Task virtual:native:/opt/yocto/sources/poky/meta/recipes-devtools/python/python3_3.8.5.bb:do_configure (dependent Tasks [&apos;python3_3.8.5.bb:do_prepare_recipe_sysroot&apos;, &apos;python3_3.8.5.bb:do_deploy_source_date_epoch&apos;, &apos;python3_3.8.5.bb:do_patch&apos;])
  Task virtual:native:/opt/yocto/sources/poky/meta/recipes-devtools/python/python3_3.8.5.bb:do_compile (dependent Tasks [&apos;python3_3.8.5.bb:do_configure&apos;])
  Task virtual:native:/opt/yocto/sources/poky/meta/recipes-devtools/python/python3_3.8.5.bb:do_install (dependent Tasks [&apos;python3_3.8.5.bb:do_compile&apos;])
  Task virtual:native:/opt/yocto/sources/poky/meta/recipes-devtools/python/python3_3.8.5.bb:do_populate_sysroot (dependent Tasks [&apos;python3_3.8.5.bb:do_install&apos;])
  Task virtual:native:/opt/yocto/sources/poky/meta/recipes-core/util-linux/util-linux_2.36.bb:do_prepare_recipe_sysroot (dependent Tasks [&apos;gnu-config_git.bb:do_populate_sysroot&apos;, &apos;util-linux_2.36.bb:do_fetch&apos;, &apos;autoconf_2.69.bb:do_populate_sysroot&apos;, &apos;automake_1.16.2.bb:do_populate_sysroot&apos;, &apos;gettext-minimal-native_0.21.bb:do_populate_sysroot&apos;, &apos;zlib_1.2.11.bb:do_populate_sysroot&apos;, &apos;libpcre2_10.35.bb:do_populate_sysroot&apos;, &apos;ncurses_6.2.bb:do_populate_sysroot&apos;, &apos;pkgconfig_git.bb:do_populate_sysroot&apos;, &apos;libtool-native_2.4.6.bb:do_populate_sysroot&apos;, &apos;python3_3.8.5.bb:do_populate_sysroot&apos;, &apos;libcap-ng_0.7.11.bb:do_populate_sysroot&apos;])
  Task virtual:native:/opt/yocto/sources/poky/meta/recipes-core/util-linux/util-linux_2.36.bb:do_configure (dependent Tasks [&apos;util-linux_2.36.bb:do_patch&apos;, &apos;util-linux_2.36.bb:do_deploy_source_date_epoch&apos;, &apos;util-linux_2.36.bb:do_prepare_recipe_sysroot&apos;])


ERROR: Command execution failed: 1

Summary: There were 3 ERROR messages shown, returning a non-zero exit code.
========</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>88748</commentid>
    <comment_count>1</comment_count>
    <who name="Randy MacLeod">randy.macleod</who>
    <bug_when>2020-12-10 15:45:48 +0000</bug_when>
    <thetext>There are other circular dependency problems with util-linux as well (around libuuid) so the solution may involved similar work-arounds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>90072</commentid>
    <comment_count>2</comment_count>
    <who name="Randy MacLeod">randy.macleod</who>
    <bug_when>2021-04-22 18:35:57 +0000</bug_when>
    <thetext>Diego,
There were changes made to util-linux:
  https://git.openembedded.org/openembedded-core/commit/?id=65efd76198ad805060fe28714765cd423fa748dc

https://git.openembedded.org/openembedded-core/commit/?id=5f204796e73f37ee67d0a86512ce3ab6f19f9ed0

Would you be able to make a similar change for pylibmount and send a patch?
If you can work on this, you might consider sending an email to the oe-core list explaining the need and getting agreement on splitting the component out before putting the work in on changing the recipe and testing it. Of course if it&apos;s not much work, just send the patch. -- Randy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>90135</commentid>
    <comment_count>3</comment_count>
    <who name="Diego">diego.ml</who>
    <bug_when>2021-04-27 15:07:30 +0000</bug_when>
    <thetext>(In reply to comment #2)
&gt; Diego,
&gt; There were changes made to util-linux:
&gt;  
&gt; https://git.openembedded.org/openembedded-core/commit/
&gt; ?id=65efd76198ad805060fe28714765cd423fa748dc
&gt; 
&gt; https://git.openembedded.org/openembedded-core/commit/
&gt; ?id=5f204796e73f37ee67d0a86512ce3ab6f19f9ed0
&gt; 
&gt; Would you be able to make a similar change for pylibmount and send a patch?
&gt; If you can work on this, you might consider sending an email to the oe-core
&gt; list explaining the need and getting agreement on splitting the component
&gt; out before putting the work in on changing the recipe and testing it. Of
&gt; course if it&apos;s not much work, just send the patch. -- Randy

Hi Randy,

thanks for the guidance. I will do my best to work on this, but it may take me some time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92993</commentid>
    <comment_count>4</comment_count>
    <who name="Randy MacLeod">randy.macleod</who>
    <bug_when>2022-04-11 22:10:52 +0000</bug_when>
    <thetext>Diego, any news? Moving to 3.6</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>93004</commentid>
    <comment_count>5</comment_count>
    <who name="Diego">diego.ml</who>
    <bug_when>2022-04-12 11:07:35 +0000</bug_when>
    <thetext>I&apos;m sorry, no news. Time is always too few.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95829</commentid>
    <comment_count>6</comment_count>
    <who name="Louis Rannou">louis.rannou</who>
    <bug_when>2023-06-28 12:11:23 +0000</bug_when>
    <thetext>Since util-linux-uuid has been splited out, I don&apos;t see any circular dependency.

However, util-linux won&apos;t always build because it gets the python version from the host instead of the native toolchain&apos;s.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95831</commentid>
    <comment_count>7</comment_count>
    <who name="Louis Rannou">louis.rannou</who>
    <bug_when>2023-06-28 14:30:56 +0000</bug_when>
    <thetext>I found that we may require to inherit python3targetconfig.

Still, because most of libraries are going into /lib , the python packages also go there. I don&apos;t think there is a way to use autoconf to specify the lib directory only for the python packages.

Therefore, we may find more intersting to also split out the pylibmount subpackage as it was done for util-linux-uuid</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97135</commentid>
    <comment_count>8</comment_count>
    <who name="Randy MacLeod">randy.macleod</who>
    <bug_when>2023-10-30 15:37:29 +0000</bug_when>
    <thetext>Build move to 5.0 -- ../Randy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>98844</commentid>
    <comment_count>9</comment_count>
    <who name="Randy MacLeod">randy.macleod</who>
    <bug_when>2024-04-25 01:13:56 +0000</bug_when>
    <thetext>Bulk move of 5.0 medium importance issues to 5.99.
Move to 5.1 if you want to actively work on an issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>98882</commentid>
    <comment_count>10</comment_count>
    <who name="Randy MacLeod">randy.macleod</who>
    <bug_when>2024-04-25 01:23:15 +0000</bug_when>
    <thetext>Move to 5.99 since no one is actively working on this issue.
Move to 5.x if you start on a task, please.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>105323</commentid>
    <comment_count>11</comment_count>
    <who name="Mathieu Dubois-Briand">mathieu.dubois-briand</who>
    <bug_when>2026-04-30 15:23:43 +0000</bug_when>
    <thetext>We have no plan to do it, should be reopened if the issue it still there.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>