3 Replies Latest reply on May 6, 2016 2:39 AM by LB

    glibc header file version in Quark SDK

    LB

      I tried to cross-compile Soletta for Galileo on my host machine running Ubuntu 14.04.4 LTS, but hit into problem. The SDK toolchain is built from the latest BSP v1.2.1 following the instructions in http://www.intel.com/content/dam/www/public/us/en/documents/release-notes/quark-x1000-bsp-build-sw-rel-user-guide.pdf

       

      Here is the error log, the complain is definition RB_SW_SUSPEND was not found.

      soletta_build_error - Pastebin.com

       

      I found that the problem is caused by the inconsistency of the libc header files.

       

      The GCC is v4.9.1 and the glibc is v2.19, this version actually has the definition of RB_SW_SUSPEND. RB_SW_SUSPEND is defined in sys/reboot.h and it is only added after v2.16 (2012 May). However, the sysroots of the SDK somehow has the older glibc header files. Therefore is a mismatch on the glibc header files version.

       

      commit 1a09dc565db1da971ade18d9be7d9ac82646d599
      Author: Andreas Jaeger aj@suse.de
      Date: Wed May 23 20:16:00 2012 +0200

      Add more constants to Linux <sys/reboot.h> 2012-05-23 Andreas Jaeger <aj@suse.de> Maximilian Attems <max@stro.at> * sysdeps/unix/sysv/linux/sys/reboot.h (RB_SW_SUSPEND, RB_KEXEC): New macros. 

       

       

      May I know how to resolve this discrepancy?

        • 1. Re: glibc header file version in Quark SDK
          FGT

          Hi,

           

          Just a minor remark, maybe it's related, maybe it's not: yocto images use eglibc or uclibc, both are "tuned" libc for embedded systems iiuc...

           

          It's all I know about this matter...

           

          Fernando.

          • 2. Re: glibc header file version in Quark SDK
            Intel Corporation
            This message was posted on behalf of Intel Corporation

            Hello LB,
             
            Let me check why the version of GCC differs from the version of glibc, I will try to get back to you as fast as I can.
             
            Peter.

            • 3. Re: glibc header file version in Quark SDK
              LB

              Hi all,


              Thanks. I got the workaround from Dermot already. I tried option 2 and it works.


               


              Option 1 - Use the build environment SDK (created using "bitbake meta-ide-support")

              Option 2 - If an SDK installer script is required (to install an SDK to a different computer) then make this simple change to meta/lib/oe/manifest.py and create the installer script again: Move PKG_TYPE_MULTILIB from last to first in the INSTALL_ORDER.

              Before
              INSTALL_ORDER = [
              PKG_TYPE_LANGUAGE,
              PKG_TYPE_MUST_INSTALL,
              PKG_TYPE_ATTEMPT_ONLY,
              PKG_TYPE_MULTILIB
              ]

              After
              INSTALL_ORDER = [
              PKG_TYPE_MULTILIB,
              PKG_TYPE_LANGUAGE,
              PKG_TYPE_MUST_INSTALL,
              PKG_TYPE_ATTEMPT_ONLY
              ]

              1 of 1 people found this helpful