<?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>13714</bug_id>
          
          <creation_ts>2019-12-17 16:18:50 +0000</creation_ts>
          <short_desc>add gcc to buildtools for Centos7 uninative</short_desc>
          <delta_ts>2020-03-26 04:17:46 +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>3.1</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>with backport</status_whiteboard>
          <keywords></keywords>
          <priority>High</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>3.1 M4</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Armin Kuster">akuster</reporter>
          <assigned_to name="Tim Orling">tim.orling</assigned_to>
          <cc>akuster808</cc>
    
    <cc>alex.kanavin</cc>
    
    <cc>jpuhlman</cc>
    
    <cc>liezhi.yang</cc>
    
    <cc>meta.mr.watcher</cc>
    
    <cc>meta.watcher</cc>
    
    <cc>raj.khem</cc>
    
    <cc>randy.macleod</cc>
    
    <cc>richard.purdie</cc>
    
    <cc>tim.orling</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>85849</commentid>
    <comment_count>0</comment_count>
    <who name="Armin Kuster">akuster</who>
    <bug_when>2019-12-17 16:18:50 +0000</bug_when>
    <thetext>We anticipate issues with Centos7 with the older gcc it supports. We think adding gcc support in uninative will allow use to continue support the older Host OS or we have to drop Centos7 from support.

We will add a drop dead date if we don&apos;t get gcc into uninative.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>85895</commentid>
    <comment_count>1</comment_count>
    <who name="Tim Orling">tim.orling</who>
    <bug_when>2019-12-21 18:53:15 +0000</bug_when>
    <thetext>One possible quick fix for CentOS 7 specifically would be to install devtoolset-8 from SCL (software collections):

https://www.softwarecollections.org/en/scls/rhscl/devtoolset-8/

TL;DR

Instructions
You can get started in three easy steps:

# 1. Install a package with repository for your system:
# On CentOS, install package centos-release-scl available in CentOS repository:
$ sudo yum install centos-release-scl

# On RHEL, enable RHSCL repository for you system:
$ sudo yum-config-manager --enable rhel-server-rhscl-7-rpms

# 2. Install the collection:
$ sudo yum install devtoolset-8

# 3. Start using software collections:
$ scl enable devtoolset-8 bash</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>85896</commentid>
    <comment_count>2</comment_count>
    <who name="Tim Orling">tim.orling</who>
    <bug_when>2019-12-21 18:56:05 +0000</bug_when>
    <thetext>Also, we probably don&apos;t want gcc in uninative but rather in buildtools-tarball.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>85897</commentid>
    <comment_count>3</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2019-12-21 22:37:02 +0000</bug_when>
    <thetext>Yes, nativesdk-gcc in buildtools tarball was the idea (maybe a second larger variant of it?)...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>85959</commentid>
    <comment_count>4</comment_count>
    <who name="Tim Orling">tim.orling</who>
    <bug_when>2019-12-23 01:22:06 +0000</bug_when>
    <thetext>Initial implementation:

http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=timo/buildtools-13714

Currently, nativesdk-binutils-symlinks does not appear to be working correctly because tools such as ar and ld are not overriding host tools. Most of the rest of what is needed (&quot;build-essentials&quot;), such as gcc, g++, autoconf, automake are all properly overriding the host versions, at least in limited testing on Fedora-29.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>85960</commentid>
    <comment_count>5</comment_count>
    <who name="Tim Orling">tim.orling</who>
    <bug_when>2019-12-23 01:24:18 +0000</bug_when>
    <thetext>Patch series on ML:

http://lists.openembedded.org/pipermail/openembedded-core/2019-December/290723.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>85996</commentid>
    <comment_count>6</comment_count>
    <who name="Randy MacLeod">randy.macleod</who>
    <bug_when>2020-01-09 15:51:44 +0000</bug_when>
    <thetext>@robert Please also enable this for CentOS7 in our auto build system and provide feedback to Tim.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>86000</commentid>
    <comment_count>7</comment_count>
    <who name="Tim Orling">tim.orling</who>
    <bug_when>2020-01-09 16:01:02 +0000</bug_when>
    <thetext>The patches have been merged:

http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=2557a68ea902c0f8a9574b372c25b99e1c4d311a

http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=52e10a01b455a2a0439cb1abacf35c8c6fb55e09

There are additional tasks:
* Add documentation to Reference Manual for buildtools-extended-tarball
* Add buildtools-extended-tarball builder to AB metadata
* Testing on an AB CentOS7 worker (with Michael Halstead)
* Roll out to production on all CentOS7 workers (with Michael Halstead)

Related:
* Backport to e.g. sumo and test on e.g. Fedora-31+ as part of the LTS preparation testing a scenario of building on a new distro that breaks the build of an older release.

We also discussed some kind of intelligence in the AB metadata to switch this on when needed. That would be out of scope for this effort.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>86553</commentid>
    <comment_count>8</comment_count>
    <who name="Jeremy A. Puhlman">jpuhlman</who>
    <bug_when>2020-02-22 00:32:00 +0000</bug_when>
    <thetext>Some quick observations. I pulled down the current released version of the tarball and built master a couple of things popped up right away.

* gdbm-native cannot find readline/readline.h.
Its got some weird to configure test that fails to find it but doesn&apos;t turn it off because it finds some of the macros I believe. Adding the depend fixes the issue, it also has a --no-readline option as well which may be appropriate for native and/or nativesdk. This does point out a likely reproducibility issue on a system without readline-devel installed building differently than with.

* python3-native cannot find rpc/rpc.h so nis module fails to build.
Python3 already depends on tirpc, and it has code that should be able to find it. Adding explicit cflags and ldflags fixes the problem, but it&apos;s probably not the right way(maybe adding tirpc-nativesdk to the extended buildtools tarball?).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>86627</commentid>
    <comment_count>9</comment_count>
    <who name="Jeremy A. Puhlman">jpuhlman</who>
    <bug_when>2020-02-28 21:24:21 +0000</bug_when>
    <thetext>One additional failure: crypt.h
 
Building clang-native, which has had problems building on centos7 for a while, includes crypt.h, which has not been included in the tarball. There are a couple ways we can address this one. Add libxcrypt to the buildtools tarball, which would cover the systems that this is meant for. Add libxcrypt-native(currently its only target and nativesdk), and fix the broken applications. The first should get everything covered. The second really can only be found by building everything against the compiler that lacks the header.

Added Khem since he might have an opinion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>86660</commentid>
    <comment_count>10</comment_count>
    <who name="Jeremy A. Puhlman">jpuhlman</who>
    <bug_when>2020-03-04 22:30:03 +0000</bug_when>
    <thetext>Proposed patches for the three issues:
gdbm/readline issue: 
https://patchwork.openembedded.org/patch/170799/

buildtools-extended tarball crypt.h missing: https://patchwork.openembedded.org/patch/170793/

python native unable to find rpc headers:
https://patchwork.openembedded.org/patch/170761/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>86674</commentid>
    <comment_count>11</comment_count>
    <who name="Jeremy A. Puhlman">jpuhlman</who>
    <bug_when>2020-03-06 01:35:39 +0000</bug_when>
    <thetext>As I noted on the call this morning that I was going to test a much newer distro with tarball since it sounded like there may have been an issue on the Tuesday call. I built core-image-sato on top of centos8 and ubuntu(20.04 early release from docker hub) and both built fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>86677</commentid>
    <comment_count>12</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2020-03-06 16:07:28 +0000</bug_when>
    <thetext>http://git.yoctoproject.org/cgit.cgi/yocto-autobuilder-helper/commit/?id=fbdaa169c3f9c4db2e77ede4ffe8587706faf64a

and

http://git.yoctoproject.org/cgit.cgi/yocto-autobuilder-helper/commit/?id=d5a24a10cbf6687dbdb641ed220ca9071c7cbef9

should mean we&apos;re mostly there with this...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>86715</commentid>
    <comment_count>13</comment_count>
    <who name="Tim Orling">tim.orling</who>
    <bug_when>2020-03-12 15:55:33 +0000</bug_when>
    <thetext>Thank you to Richard doing the implementation for the autobuilder in yocto-autobuilder-helper.

Thank you to Jeremy Puhlman for kicking the tires and finding several things that also needed to be added or fixed.

This bug can be closed, with two remaining tasks added to new bugs:

* Bug 13830 - Add buildtools-extended-tarball documentation
* Bug 13832 - Add script to setup buildtools-extended-tarball

A nice-to-have task is also added to a new bug:

* Bug 13831 - Add information about buildtools-extended-tarball to yocto-autobuilder-helper README

Please open NEW bugs for any additional issues with the implementation on yocto-autobuilder-helper or with the buildtools-extended-tarball itself.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>86812</commentid>
    <comment_count>14</comment_count>
    <who name="Tim Orling">tim.orling</who>
    <bug_when>2020-03-26 04:17:46 +0000</bug_when>
    <thetext>$ yum whatprovides “*/crypt.h”

&lt;snip&gt;
cryptlib-devel-3.4.3-8.el7.x86_64 : Cryptlib application development files
Repo        : epel
Matched from:
Filename    : /usr/include/cryptlib/crypt.h



glibc-headers-2.17-292.el7.x86_64 : Header files for development using standard
                                  : C libraries.
Repo        : base
Matched from:
Filename    : /usr/include/crypt.h
&lt;snip&gt;</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>