<?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>1688</bug_id>
          
          <creation_ts>2011-10-19 14:59:40 +0000</creation_ts>
          <short_desc>[HOB] add multilib support to hob</short_desc>
          <delta_ts>2014-05-14 16:31:58 +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>Hob</product>
          <component>hob</component>
          <version>1.2</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>Low</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>Future</target_milestone>
          
          <blocked>1588</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Matthew McClintock">msm-oss</reporter>
          <assigned_to name="Belen Barros Pena">belen.barros.pena</assigned_to>
          <cc>cristian.iorga</cc>
    
    <cc>cristiana.voicu</cc>
    
    <cc>dongxiao.xu</cc>
    
    <cc>jessica.zhang</cc>
    
    <cc>jiajun.xu</cc>
    
    <cc>jjardon</cc>
    
    <cc>msm-oss</cc>
    
    <cc>poky.bs.watcher</cc>
    
    <cc>poky.watcher</cc>
    
    <cc>richard.purdie</cc>
    
    <cc>sgw</cc>
    
    <cc>song.liu</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>16923</commentid>
    <comment_count>0</comment_count>
    <who name="Matthew McClintock">msm-oss</who>
    <bug_when>2011-10-19 14:59:40 +0000</bug_when>
    <thetext>Should be able to add any package as a multilib package as well, perhaps a tab for each type of multilib enabled?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19512</commentid>
    <comment_count>1</comment_count>
    <who name="Shane Wang">shane.wang</who>
    <bug_when>2012-03-27 11:56:09 +0000</bug_when>
    <thetext>The feature for Hob was in the latest master.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19871</commentid>
    <comment_count>2</comment_count>
    <who name="Matthew McClintock">msm-oss</who>
    <bug_when>2012-04-04 16:28:43 +0000</bug_when>
    <thetext>What does this mean?

[P3][D10] Won&apos;t be supported in Hob</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19904</commentid>
    <comment_count>3</comment_count>
    <who name="Song Liu">song.liu</who>
    <bug_when>2012-04-04 21:04:00 +0000</bug_when>
    <thetext>Shane, does this mean that this won&apos;t be there for 1.2 but will be fixed after 1.2?

Song</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19906</commentid>
    <comment_count>4</comment_count>
    <who name="Song Liu">song.liu</who>
    <bug_when>2012-04-04 21:05:15 +0000</bug_when>
    <thetext>If it will be done post 1.2, we should keep this bug open and mark its target milestone as 1.3. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19977</commentid>
    <comment_count>5</comment_count>
    <who name="Dongxiao Xu">dongxiao.xu</who>
    <bug_when>2012-04-06 01:13:57 +0000</bug_when>
    <thetext>The new Hob supports multilib functionality, however it requires users to manually add the following lines into local.conf (Sadly this cannot be configured via Hob now, so I think this is why Shane marks it as post 1.3 feature):

require conf/multilib.conf
MULTILIBS = &quot;multilib:lib32&quot;
DEFAULTTUNE_virtclass-multilib-lib32 = &quot;x86&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20663</commentid>
    <comment_count>6</comment_count>
    <who name="Song Liu">song.liu</who>
    <bug_when>2012-04-18 17:34:21 +0000</bug_when>
    <thetext>This can be addressed in 1.3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>28677</commentid>
    <comment_count>7</comment_count>
    <who name="Jessica">jessica.zhang</who>
    <bug_when>2013-01-09 18:21:23 +0000</bug_when>
    <thetext>Belen,

Please help on the design work for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>28803</commentid>
    <comment_count>8</comment_count>
    <who name="Belen Barros Pena">belen.barros.pena</who>
    <bug_when>2013-01-14 12:26:54 +0000</bug_when>
    <thetext>Paul has been helping to determine what the requirements are to enable multilib via the Hob interface. This is what came up in our conversation:

1. enabling multilib involves selecting one or more variants. There are 3 of them listed in /poky/meta/conf/multilib.conf (lib32, lib64 and libx32), but these are only for Intel architecture. Do we know how many variants are there overall?

2. enabling multilib also involves specifying a DEFAULTTUNE for the selected variant. The idea would be not to expose this through Hob though (i.e. selecting a variant in Hob also specifies the required DEFAULTTUNE). This means we need to somehow map each multilib variant to its DEFAULTTUNE.

3. enabling a single multilib variant (e.g. lib32) brings in 18 additional base images. As part of this bug, we might need to tackle 2345 then, because multilib really strains our current interface to select base images.

4. according to Paul, the main multilib use case is building the multilib version of specific recipes / packages (you wouldn&apos;t build a whole base image with multilib support). This means that the ability to select the multilib variant for specific recipes / packages is important and needs to be well supported. The problem is that multilib variants are named with a prefix (&quot;lib32-&quot;+&lt;recipe name&gt;), which means that the alphabetical sorting by recipe or package name does not list together a recipe / package and their multilib variants, making selection hard  (if I want to build multilib for acl, I need to go hunting for lib32-acl far down the recipes table). We need to come up with a way of sorting that will put lib32-acl right below acl in the recipes table.

Is there anything else we might be forgetting?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>28815</commentid>
    <comment_count>9</comment_count>
    <who name="Matthew McClintock">msm-oss</who>
    <bug_when>2013-01-14 16:56:56 +0000</bug_when>
    <thetext>(In reply to comment #8)
&gt; Paul has been helping to determine what the requirements are to enable
&gt; multilib via the Hob interface. This is what came up in our conversation:
&gt; 
&gt; 1. enabling multilib involves selecting one or more variants. There are 3 of
&gt; them listed in /poky/meta/conf/multilib.conf (lib32, lib64 and libx32), but
&gt; these are only for Intel architecture. Do we know how many variants are
&gt; there overall?

Can can determine these from the environment and you can&apos;t assume they are static. They can be named anything. In fact I prefer using the what they refer to instead of the canonical names. (eg. ppce500mc -&gt; lib, ppc64e5500 -&gt; lib64)

&gt; 2. enabling multilib also involves specifying a DEFAULTTUNE for the selected
&gt; variant. The idea would be not to expose this through Hob though (i.e.
&gt; selecting a variant in Hob also specifies the required DEFAULTTUNE). This
&gt; means we need to somehow map each multilib variant to its DEFAULTTUNE.

Also, you need to come up with a list of compatible TUNEs. E.g. x86_64 is not compatible with ppce500mc.
 
&gt; 3. enabling a single multilib variant (e.g. lib32) brings in 18 additional
&gt; base images. As part of this bug, we might need to tackle 2345 then, because
&gt; multilib really strains our current interface to select base images.
&gt; 
&gt; 4. according to Paul, the main multilib use case is building the multilib
&gt; version of specific recipes / packages (you wouldn&apos;t build a whole base
&gt; image with multilib support). This means that the ability to select the
&gt; multilib variant for specific recipes / packages is important and needs to
&gt; be well supported. The problem is that multilib variants are named with a
&gt; prefix (&quot;lib32-&quot;+&lt;recipe name&gt;), which means that the alphabetical sorting
&gt; by recipe or package name does not list together a recipe / package and
&gt; their multilib variants, making selection hard  (if I want to build multilib
&gt; for acl, I need to go hunting for lib32-acl far down the recipes table). We
&gt; need to come up with a way of sorting that will put lib32-acl right below
&gt; acl in the recipes table.

Maybe you just start with static lists for these in the first pass? x86 and x86_64, ppc and ppc64?

-M</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>28850</commentid>
    <comment_count>10</comment_count>
    <who name="Belen Barros Pena">belen.barros.pena</who>
    <bug_when>2013-01-16 10:27:09 +0000</bug_when>
    <thetext>Thanks for the feedback, Matthew.

From what I understand, I guess there are 2 main approaches here:

1. Free text
We provide 2 text fields in Hob where you can enter any values for the variant and the default tune. Advantage of this approach: it&apos;s easy to implement.

Problems with this approach:

- People might not know what values they are supposed to enter 
- They might enter an incompatible variant / tune combination

This approach defers responsibility for entering valid input to users, with the software providing little help. 

2. Static list
We provide a list of valid variants, from which users can select one or more. We map those variants to compatible tunes, from which people can select one. 

Advantages: 

- we support users with little knowledge
- we enforce valid input

Disadvantages: we need to specify the variants and their valid tunes somehow. Paul mentioned they could be added to the distro configuration. As Matthew suggests, we could start with a few of them, and add over time. 

Nothing stops us from combine the 2 options above.

Jessica, Cristian, Cristiana: do you have any thoughts on this?

Thanks!

Belen



(In reply to comment #9)
&gt; (In reply to comment #8)
&gt; &gt; Paul has been helping to determine what the requirements are to enable
&gt; &gt; multilib via the Hob interface. This is what came up in our conversation:
&gt; &gt; 
&gt; &gt; 1. enabling multilib involves selecting one or more variants. There are 3 of
&gt; &gt; them listed in /poky/meta/conf/multilib.conf (lib32, lib64 and libx32), but
&gt; &gt; these are only for Intel architecture. Do we know how many variants are
&gt; &gt; there overall?
&gt; 
&gt; Can can determine these from the environment and you can&apos;t assume they are
&gt; static. They can be named anything. In fact I prefer using the what they
&gt; refer to instead of the canonical names. (eg. ppce500mc -&gt; lib, ppc64e5500
&gt; -&gt; lib64)
&gt; 
&gt; &gt; 2. enabling multilib also involves specifying a DEFAULTTUNE for the selected
&gt; &gt; variant. The idea would be not to expose this through Hob though (i.e.
&gt; &gt; selecting a variant in Hob also specifies the required DEFAULTTUNE). This
&gt; &gt; means we need to somehow map each multilib variant to its DEFAULTTUNE.
&gt; 
&gt; Also, you need to come up with a list of compatible TUNEs. E.g. x86_64 is
&gt; not compatible with ppce500mc.
&gt;  
&gt; &gt; 3. enabling a single multilib variant (e.g. lib32) brings in 18 additional
&gt; &gt; base images. As part of this bug, we might need to tackle 2345 then, because
&gt; &gt; multilib really strains our current interface to select base images.
&gt; &gt; 
&gt; &gt; 4. according to Paul, the main multilib use case is building the multilib
&gt; &gt; version of specific recipes / packages (you wouldn&apos;t build a whole base
&gt; &gt; image with multilib support). This means that the ability to select the
&gt; &gt; multilib variant for specific recipes / packages is important and needs to
&gt; &gt; be well supported. The problem is that multilib variants are named with a
&gt; &gt; prefix (&quot;lib32-&quot;+&lt;recipe name&gt;), which means that the alphabetical sorting
&gt; &gt; by recipe or package name does not list together a recipe / package and
&gt; &gt; their multilib variants, making selection hard  (if I want to build multilib
&gt; &gt; for acl, I need to go hunting for lib32-acl far down the recipes table). We
&gt; &gt; need to come up with a way of sorting that will put lib32-acl right below
&gt; &gt; acl in the recipes table.
&gt; 
&gt; Maybe you just start with static lists for these in the first pass? x86 and
&gt; x86_64, ppc and ppc64?
&gt; 
&gt; -M</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43311</commentid>
    <comment_count>11</comment_count>
    <who name="Belen Barros Pena">belen.barros.pena</who>
    <bug_when>2014-05-14 16:31:58 +0000</bug_when>
    <thetext>At this point, work will take place on toaster, not hob, so marking as won&apos;t fix.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>