<?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>1372</bug_id>
          
          <creation_ts>2011-08-15 23:42:14 +0000</creation_ts>
          <short_desc>lib64-gcc-cross-initial:do_compile failed</short_desc>
          <delta_ts>2011-09-02 16:54:22 +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>devtools / tool chain</component>
          <version>unspecified</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>Post 1.1, as the bug happens only in rare scenario</status_whiteboard>
          <keywords></keywords>
          <priority>Medium</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>1.2</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Lianhao Lu">lianhao.lu</reporter>
          <assigned_to name="Ke Yu">ke.yu</assigned_to>
          <cc>dongxiao.xu</cc>
    
    <cc>ke.yu</cc>
    
    <cc>meta.mr.watcher</cc>
    
    <cc>meta.watcher</cc>
    
    <cc>richard.purdie</cc>
    
    <cc>sgw</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>---</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>15478</commentid>
    <comment_count>0</comment_count>
    <who name="Lianhao Lu">lianhao.lu</who>
    <bug_when>2011-08-15 23:42:14 +0000</bug_when>
    <thetext>Following the following steps would trigger a do_compile failure in lib64-gcc-cross-initial, complaining not finding &quot;gnu/stubs-64.h&quot; in sysroot

1. set MACHINE=qemux86 and include multilib.conf in local.conf
2. bitbake eglibc
3. bitbake lib64-gcc-cross-initial</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>15479</commentid>
    <comment_count>1</comment_count>
    <who name="Ke Yu">ke.yu</who>
    <bug_when>2011-08-15 23:46:15 +0000</bug_when>
    <thetext>My understanding is that qemux86 can not built lib64 multilib, since it is 32bit. but qemux86-64 is allowed to buid lib64 multilib</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>15480</commentid>
    <comment_count>2</comment_count>
    <who name="Lianhao Lu">lianhao.lu</who>
    <bug_when>2011-08-16 00:20:58 +0000</bug_when>
    <thetext>(In reply to comment #1)
&gt; My understanding is that qemux86 can not built lib64 multilib, since it is
&gt; 32bit. but qemux86-64 is allowed to buid lib64 multilib

Well, then what is lib64 on qemux86-64 for?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>15487</commentid>
    <comment_count>3</comment_count>
    <who name="Nitin Kamble">nitin.a.kamble</who>
    <bug_when>2011-08-16 08:46:56 +0000</bug_when>
    <thetext>lianhao,
  in your original post you mentioned the MACHINE is set to qemux86, which is a 32bit only machine. And 64bit libraries does not make sense on 32bit machine.
Nitin</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>15494</commentid>
    <comment_count>4</comment_count>
    <who name="Nitin Kamble">nitin.a.kamble</who>
    <bug_when>2011-08-16 12:07:54 +0000</bug_when>
    <thetext>ke,
also maybe we can give an error if somebody enables 64bit multilib for 32bit machine/arch.

Nitin</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>15542</commentid>
    <comment_count>5</comment_count>
    <who name="Nitin Kamble">nitin.a.kamble</who>
    <bug_when>2011-08-17 18:31:19 +0000</bug_when>
    <thetext>ke, I am not that familiar with the multilib code. Does it makes sense to give an error if someone tries to build 64bit targets with 32bit arch? And what is the right place to give this error. I think this is more multilib related bug than gcc.

Nitin</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>15575</commentid>
    <comment_count>6</comment_count>
    <who name="Ke Yu">ke.yu</who>
    <bug_when>2011-08-18 19:55:25 +0000</bug_when>
    <thetext>(In reply to comment #5)
&gt; ke, I am not that familiar with the multilib code. Does it makes sense to give
&gt; an error if someone tries to build 64bit targets with 32bit arch? And what is
&gt; the right place to give this error. I think this is more multilib related bug
&gt; than gcc.
&gt; Nitin

I think it make sense to give error. i will take this bug to investigate which is the right to raise the error</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>15645</commentid>
    <comment_count>7</comment_count>
    <who name="Ke Yu">ke.yu</who>
    <bug_when>2011-08-22 19:41:06 +0000</bug_when>
    <thetext>Talk with RP, and RP suggest to figure out why it breaks. in theory, it should pass.

and the usage scenario would be: 64 bit kernel + most 32 bit apps + one demanding 64 bit app (e.g. DB)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>15929</commentid>
    <comment_count>8</comment_count>
    <who name="Dongxiao Xu">dongxiao.xu</who>
    <bug_when>2011-08-31 18:37:27 +0000</bug_when>
    <thetext>This issue may caused by the toolchain boot strap issue. When building multilib version of toolchain, normal gcc/eglibc has been built out and they do exist in sysroot. Therefore configuring gcc-cross-initial will find that some macros have already been defined and thus it includes some inproper headers, like the stubs.h and stubs-64.h, actually these headers are generated by eglibc.

One solution may be to change the sysroot for multilib recipes, otherwise is to use unique gcc to build multilib recipes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>15998</commentid>
    <comment_count>9</comment_count>
    <who name="Dongxiao Xu">dongxiao.xu</who>
    <bug_when>2011-09-02 16:54:22 +0000</bug_when>
    <thetext>Fixed with http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=6ebcc6c1999f678dace87a4716aa912acaf88ad4</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>