[OE-core] Building older releases on modern distros (and vice versa)

Khem Raj raj.khem at gmail.com
Fri Jan 17 18:39:20 UTC 2020


On 1/17/20 9:59 AM, Richard Purdie wrote:
> We've been discussing how we could:
> 
> a) build old releases on newer distros
> 
> as well as
> 
> b) how we could build new releases on old distros.
> 
> Our proposed answer has been "buildtools-extended-tarball" which
> includes nativesdk-gcc.
> 
> We need b) so we can install this on Centos7 and stop having to work
> around its really old compiler. In general this should improve our
> ability to support stable branches in general.
> 
> I wanted to stress test a) a bit, partly to prove that b) could work
> longer term.
> 
> I did this by attempting to build buildtools-extended-tarball on pyro
> which has a gcc v6 and then using that to build morty on an Ubuntu
> 18.04 system.
> 
> It wasn't plain sailing, I had to:
> 
> * Upgrade the uninative in pyro
> * Switch to xz uninative to allow latest uninative to work
> * Patch binutils to fix an ld.so.conf relocation issue
> * Add an ld.so.conf to buildtools
> * Add the buildtools-extended-tarall recipe
> 
> Patches are in:
> 
> http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=rpurdie/pyro
> 
> (some need forward porting to master)
> 
> Having got the output from the pyro build, in the morty build I added
> buildtools tarball to PATH before running the build. I had to disable
> uninative since it was going to get in the way and conflict:
> 

do we intend to generate extended buildtools tarballs for all releases 
if it works out well ?

> $ x86_64-buildtools-extended-nativesdk-standalone-2.3.4.sh
> 
> Extended Build tools installer version 2.3.4
> ============================================
> Enter target directory for SDK (default: /opt/poky/2.3.4): ./buildtools
> You are about to install the SDK to "/media/build1/poky-morty/buildtools". Proceed[Y/n]?
> Extracting SDK...............done
> Setting it up...done
> SDK has been successfully set up and is ready to be used.
> Each time you wish to use the SDK in a new shell session, you need to source the environment setup script e.g.
>   $ . /media/build1/poky-morty/buildtools/environment-setup-x86_64-pokysdk-linux
> 
> 
> $ .  /media/build1/poky-morty/buildtools/environment-setup-x86_64-pokysdk-linux
> $ source oe-init-build-env
> $ mkdir classes
> $ touch classes/uninative.bbclas
> $ bitbake bash
> 
> 
> 
> 
> 
> 



More information about the Openembedded-core mailing list