<?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>5135</bug_id>
          
          <creation_ts>2013-09-07 12:46:31 +0000</creation_ts>
          <short_desc>nativesdk-pseudo: do_compile failed when NO32LIBS = &quot;0&quot;: fatal error: gnu/stubs-32.h: No such file or directory</short_desc>
          <delta_ts>2014-07-24 14:53:27 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>6</classification_id>
          <classification>Yocto Project Subprojects</classification>
          <product>Pseudo</product>
          <component>poky integration</component>
          <version>master</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>1.5.3</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jackie Huang">jackie.huang</reporter>
          <assigned_to name="Mark Hatle">mark.hatle</assigned_to>
          <cc>meta.mr.watcher</cc>
    
    <cc>meta.watcher</cc>
    
    <cc>sgw</cc>
    
    <cc>sjolley.yp.pm</cc>
    
    <cc>yp.pseudo.watcher</cc>
    
    <cc>yp.watcher</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>Don&apos;t know</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>36396</commentid>
    <comment_count>0</comment_count>
    <who name="Jackie Huang">jackie.huang</who>
    <bug_when>2013-09-07 12:46:31 +0000</bug_when>
    <thetext>$ grep  NO32LIBS recipes-devtools/pseudo/pseudo.inc
NO32LIBS ??= &quot;1&quot;
       case &quot;${NO32LIBS}&quot; in
       echo &quot;If you need to run 32-bit executables, ensure that NO32LIBS is set to 0.&quot;

If we set NO32LIBS to 0:
$ tail -n 1 conf/local.conf
NO32LIBS = &quot;0&quot;

nativesdk-pseudo do_compile failed:
NOTE: Running task 560 of 571 (ID: 5, virtual:nativesdk:/buildarea/jhuang0/git/yocto/poky/meta/recipes-devtools/pseudo/pseudo_1.5.1.bb, do_configure)
NOTE: recipe nativesdk-pseudo-1.5.1-r3: task do_configure: Started
NOTE: recipe nativesdk-pseudo-1.5.1-r3: task do_configure: Succeeded
NOTE: Running task 561 of 571 (ID: 6, virtual:nativesdk:/buildarea/jhuang0/git/yocto/poky/meta/recipes-devtools/pseudo/pseudo_1.5.1.bb, do_compile)
NOTE: recipe nativesdk-pseudo-1.5.1-r3: task do_compile: Started
ERROR: Function failed: do_compile (log file is located at /buildarea/jhuang0/yp/y_x64_0705/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.5.1-r3/temp/log.do_compile.12446)
ERROR: Logfile of failure stored in: /buildarea/jhuang0/yp/y_x64_0705/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.5.1-r3/temp/log.do_compile.12446
Log data follows:
| DEBUG: Executing shell function do_compile
| Attempting to build 32-bit libpseudo.so for nativesdk-pseudo.
| WARNING: Guessing architecture CFLAGS &apos;-m32&apos;.
| If you need specific flags, use --cflags.
| SQLite header for version 3007017 found in /buildarea/jhuang0/yp/y_x64_0705/tmp/sysroots/x86_64-nativesdk-pokysdk-linux/opt/poky/1.4+snapshot/sysroots/x86_64-pokysdk-linux/usr.
| Enabling in-memory database by default.
| NOTE: make -j 4 -e MAKEFLAGS= libpseudo
| mkdir -p lib/pseudo/lib
| ./makewrappers
| ./maketables enums/*.in
| enums/msg_type.in: type: msg_type_t (prefix &apos;PSEUDO_MSG_ENUM&apos;)
|    ping               shutdown           op                 ack
|    nak                fastop
|
| enums/op.in: type: op_t (prefix &apos;OP_ENUM&apos;)
|   extra column: int wait (default 0)
|    chdir              chmod              chown              chroot
|    close              creat              dup                fchmod
|    fchown             fstat              link               mkdir
|    mknod              open               rename             stat
|    unlink             symlink            exec               may-unlink
|    did-unlink         cancel-unlink
|
| enums/query_field.in: type: query_field_t (prefix &apos;PSQF_ENUM&apos;)
|    access             client             dev                fd
|    ftype              gid                id                 inode
|    mode               op                 order              path
|    perm               program            result             severity
|    stamp              tag                text               type
|    uid
|
| enums/query_type.in: type: query_type_t (prefix &apos;PSQT_ENUM&apos;)
|   extra column: const char * sql (default &quot;LITTLE BOBBY TABLES&quot;)
|    exact              less               greater            bitand
|    notequal           like               notlike            sqlpat
|
|
| enums/res.in: type: res_t (prefix &apos;RESULT_ENUM&apos;)
|    succeed            fail               error
|
| enums/sev.in: type: sev_t (prefix &apos;SEVERITY_ENUM&apos;)
|    debug              info               warn               error
|    critical
|
| Writing datatypes... done.  Cleaning up.
| x86_64-pokysdk-linux-gcc  --sysroot=/buildarea/jhuang0/yp/y_x64_0705/tmp/sysroots/x86_64-nativesdk-pokysdk-linux -isystem/buildarea/jhuang0/yp/y_x64_0705/tmp/sysroots/x86_64-nativesdk-pokysdk-linux/opt/poky/1.4+snapshot/sysroots/x86_64-pokysdk-linux/usr/include -O2 -pipe -pipe -std=gnu99 -Wall -W -Wextra -fPIC -D_LARGEFILE64_SOURCE -D_ATFILE_SOURCE -m32 -DPSEUDO_PREFIX=&apos;&quot;/opt/poky/1.4+snapshot/sysroots/x86_64-pokysdk-linux/usr&quot;&apos; -DPSEUDO_SUFFIX=&apos;&quot;&quot;&apos; -DPSEUDO_BINDIR=&apos;&quot;bin&quot;&apos; -DPSEUDO_LIBDIR=&apos;&quot;lib/pseudo/lib&quot;&apos; -DPSEUDO_LOCALSTATEDIR=&apos;&quot;var/pseudo&quot;&apos; -DPSEUDO_VERSION=&apos;&quot;1.5.1&quot;&apos; -DUSE_MEMORY_DB -DPSEUDO_FORCE_ASYNC -O2 -g -L/buildarea/jhuang0/yp/y_x64_0705/tmp/sysroots/x86_64-nativesdk-pokysdk-linux/opt/poky/1.4+snapshot/sysroots/x86_64-pokysdk-linux/usr/lib -I/buildarea/jhuang0/yp/y_x64_0705/tmp/sysroots/x86_64-nativesdk-pokysdk-linux/opt/poky/1.4+snapshot/sysroots/x86_64-pokysdk-linux/usr/include  -c -o pseudo_tables.o pseudo_tables.c
| In file included from /buildarea/jhuang0/yp/y_x64_0705/tmp/sysroots/x86_64-nativesdk-pokysdk-linux/opt/poky/1.4+snapshot/sysroots/x86_64-pokysdk-linux/usr/include/features.h:388:0,
|                  from /buildarea/jhuang0/yp/y_x64_0705/tmp/sysroots/x86_64-nativesdk-pokysdk-linux/opt/poky/1.4+snapshot/sysroots/x86_64-pokysdk-linux/usr/include/string.h:25,
|                  from pseudo_tables.h:24,
|                  from pseudo_tables.c:23:
| /buildarea/jhuang0/yp/y_x64_0705/tmp/sysroots/x86_64-nativesdk-pokysdk-linux/opt/poky/1.4+snapshot/sysroots/x86_64-pokysdk-linux/usr/include/gnu/stubs.h:7:27: fatal error: gnu/stubs-32.h: No such file or directory
|  # include &lt;gnu/stubs-32.h&gt;
|                            ^
| compilation terminated.
| make: *** [pseudo_tables.o] Error 1
| make: *** Waiting for unfinished jobs....
| Checking for old/new clone mechanics...New clone.
| common
| ports/common/wrapfuncs.in: .......
| linux
| ports/linux/wrapfuncs.in: ................................................................
| unix
| ports/unix/wrapfuncs.in: ................................................................
| uids_generic
| ports/uids_generic/wrapfuncs.in: ........................
| linux/newclone
| ports/linux/newclone/wrapfuncs.in: .
| Writing functions... Warning: lchown from linux overriding unix
| done.  Cleaning up.
| ERROR: oe_runmake failed
| WARNING: /buildarea/jhuang0/yp/y_x64_0705/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.5.1-r3/temp/run.do_compile.12446:1 exit 1 from
|   exit 1
| ERROR: Function failed: do_compile (log file is located at /buildarea/jhuang0/yp/y_x64_0705/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.5.1-r3/temp/log.do_compile.12446)
NOTE: recipe nativesdk-pseudo-1.5.1-r3: task do_compile: Failed
ERROR: Task 6 (virtual:nativesdk:/buildarea/jhuang0/git/yocto/poky/meta/recipes-devtools/pseudo/pseudo_1.5.1.bb, do_compile) failed with exit code &apos;1&apos;
NOTE: recipe nativesdk-sqlite3-3071700-r0: task do_package: Succeeded
NOTE: Tasks Summary: Attempted 561 tasks of which 183 didn&apos;t need to be rerun and 1 failed.

Summary: 1 task failed:
  virtual:nativesdk:/buildarea/jhuang0/git/yocto/poky/meta/recipes-devtools/pseudo/pseudo_1.5.1.bb, do_compile
Summary: There was 1 ERROR message shown, returning a non-zero exit code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>36997</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Hatle">mark.hatle</who>
    <bug_when>2013-09-19 16:14:57 +0000</bug_when>
    <thetext>The implementation is expected to add the following to the pseudo recipe:
   NO32LIBS_class-nativesdk = &apos;0&apos;

This should be fine, as the pseudo in the SDK is only designed to be used for the NFS usermode server and extraction of the rootfs if necessary.  It isn&apos;t used for compiling or other activities where the user is likely to have multilib host binaries.

There is also no way that I can see to allow this to be &apos;1&apos;, as the nativesdk compiler is not multilib enabled...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37035</commentid>
    <comment_count>2</comment_count>
    <who name="Jackie Huang">jackie.huang</who>
    <bug_when>2013-09-22 02:16:43 +0000</bug_when>
    <thetext>(In reply to comment #1)
&gt; The implementation is expected to add the following to the pseudo recipe:
&gt;    NO32LIBS_class-nativesdk = &apos;0&apos;

I think you meant NO32LIBS_class-nativesdk = &apos;1&apos;

&gt; 
&gt; This should be fine, as the pseudo in the SDK is only designed to be used
&gt; for the NFS usermode server and extraction of the rootfs if necessary.  It
&gt; isn&apos;t used for compiling or other activities where the user is likely to
&gt; have multilib host binaries.
&gt; 
&gt; There is also no way that I can see to allow this to be &apos;1&apos;, as the

And here should be &apos;0&apos;

&gt; nativesdk compiler is not multilib enabled...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40753</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Hatle">mark.hatle</who>
    <bug_when>2014-02-27 15:46:23 +0000</bug_when>
    <thetext>The fix for this issue is to set NO32LIB = &quot;1&quot; when running a nativesdk build.

There is no reason to have both 32 and 64-bit pseudo when running the SDK mode, as the only reason for pseudo is to allow the user-mode NFS server to work, which will be the same byte size as the whole nativesdk.

As Jackie indicated,

NO32LIBS_class-nativesdk = &apos;1&apos;

is the correct fix.  That should be placed either in a regular configuration file or in the pseudo.bb file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>44660</commentid>
    <comment_count>4</comment_count>
    <who name="Saul Wold">sgw</who>
    <bug_when>2014-07-24 14:53:27 +0000</bug_when>
    <thetext>http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=139b44be7a356fa24f19ef7216c7d8330281a51f</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>