public inbox for openembedded-core@lists.openembedded.org
 help / color / mirror / Atom feed
From: "Richard Purdie" <richard.purdie@linuxfoundation.org>
To: Randy MacLeod <randy.macleod@windriver.com>,
	Patches and discussions about the oe-core layer
	<openembedded-core@lists.openembedded.org>
Cc: steven@stevenwalter.org, johan.anderholm@gmail.com,
	derek@asterius.io,  cardoe@cardoe.com, dev@codyps.com,
	tylerwhall@gmail.com, Khem Raj <raj.khem@gmail.com>,
	vinay.kumar@blackfigtech.com, saul.wold@windriver.com,
	 martin.jansa@gmail.com, paul@pbarker.dev,
	Trevor Gamblin <trevor.gamblin@windriver.com>,
	anbelski@linux.microsoft.com,
	Vinay Kumar <vinay.m.engg@gmail.com>,
	Alexandre Belloni <alexandre.belloni@bootlin.com>,
	 "Orling, Timothy T" <timothy.t.orling@intel.com>,
	Richard Elberger <elberger@amazon.com>,
	"Kuber, Esteban" <ekuber@amazon.com>
Subject: Re: [OE-core] [v4] [RFC] Merge meta-rust to oe-core - Aug 19 update
Date: Fri, 27 Aug 2021 13:04:19 +0100	[thread overview]
Message-ID: <666325b981f47975ed739b8d3eeaed46933845c0.camel@linuxfoundation.org> (raw)
In-Reply-To: <169F1E62C63E8EDC.31425@lists.openembedded.org>

On Fri, 2021-08-27 at 10:03 +0100, Richard Purdie via lists.openembedded.org
wrote:
> On Fri, 2021-08-27 at 00:05 -0400, Randy MacLeod wrote:
> > Thanks to Richard's dogged determination and Herculean efforts,
> > the Rust recipes are now merged to the oe-core master branch.
> > 
> >     https://git.openembedded.org/openembedded-core/log/?qt=range&q=master
> > 
> > 
> > There are still some known problems, such as:
> > 
> > 1. Tim Orling finding that Rust fails to build python-cryptography:
> > 
> >  
> > https://git.openembedded.org/meta-openembedded-contrib/log/?h=timo/rust_python3-cryptography
> > 
> > Tim says that this change helps:
> >  
> > https://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=timo/rustc-print-cfg-fix
> > 
> > 
> > and:
> > 
> > 2. a reproducible build failure on CentOS-7:
> > 
> >     https://autobuilder.yoctoproject.org/typhoon/#/builders/115/builds/597
> > 
> > where, we see:
> >     = note: /bin/sh: /lib64/libc.so.6: version `GLIBC_2.33' \
> >     not found (required by \
> >     /home/pokybuild/yocto-worker/reproducible-centos/build/\
> >     build-st/reproducibleB/tmp/work/x86_64-linux/cargo-native/\
> >     1.54.0-r0/recipe-sysroot-native/usr/lib/libtinfo.so.5)
> > 
> > 
> > 
> > 
> > 
> >     error: linking with `\
> >     /home/pokybuild/yocto-worker/reproducible-centos/build/\
> >     build-st/reproducibleB/tmp/work/x86_64-linux/cargo-native/\
> >     1.54.0-r0/wrapper/target-rust-ccld` failed: exit status: 1
> > 
> 
> I had a quick look at this. It reproduces if you build cargo-native on a centos7
> machine with our M2 buildtools tarball in the environment of the build.
> 
> Adding the uninative relocation hack to the cargo snapshot binary with:
> 
>  do_cargo_setup_snapshot () {
>         ${WORKDIR}/rust-snapshot-components/${CARGO_SNAPSHOT}/install.sh --prefix="${WORKDIR}/${CARGO_SNAPSHOT}" --disable-ldconfig
> +       # Need to use uninative's loader if enabled/present since the library paths
> +       # are used internally by rust and result in symbol mismatches if we don't
> +       if [ ! -z "${UNINATIVE_LOADER}" -a -e "${UNINATIVE_LOADER}" ]; then
> +               patchelf-uninative ${WORKDIR}/${CARGO_SNAPSHOT}/bin/cargo --set-interpreter ${UNINATIVE_LOADER}
> +       fi
>  }
> 
> didn't help.
> 
> Running the command it mentions failing by hand in the same toolchain enabled
> shell works. It therefore seems likely that something rust is putting into the
> environment is breaking things. What that is, I don't know, I'm out of time to
> debug further.
> 
> It looks to me like it is using the ld from the host instead of the buildtools
> tarball. I did change tmp/work/x86_64-linux/cargo-native/1.54.0-
> r0/wrapper/target-rust-ccld to a full path to gcc and messed with PATH to ensure
> it would find "our" ld first but that didn't help.
> 
> In the error output is some:
> 
> Usage: which [options] [--] COMMAND [...]
> Write the full path of COMMAND(s) to standard output.
> 
> suggesting some which call might not be compatible with centos7?

temp/run.do_compile:	bbnote "cargo = $(which /home/pokybuild/yocto-worker/reproducible-centos/build/build-st/tmp2/work/x86_64-linux/cargo-native/1.54.0-r0/cargo-1.53.0-x86_64-unknown-linux-gnu/bin/cargo)"
temp/run.do_compile:	bbnote "rustc = $(which ${RUSTC})"

so probably not important.

Cheers,

Richard



  parent reply	other threads:[~2021-08-27 12:04 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-11  0:22 [v3] [RFC] Merge meta-rust to oe-core Randy MacLeod
2021-08-11 13:14 ` Randy MacLeod
2021-08-11 15:18   ` Randy MacLeod
2021-08-13 15:19   ` [OE-core] [v4] " Vinay Kumar
2021-08-13 15:22     ` Vinay Kumar
2021-08-17 14:52       ` Randy MacLeod
     [not found]       ` <169C1FA457B99CA0.23238@lists.openembedded.org>
2021-08-20 10:06         ` [OE-core] [v4] [RFC] Merge meta-rust to oe-core - Aug 19 update Randy MacLeod
2021-08-21  2:48           ` Randy MacLeod
2021-08-21  8:46             ` Richard Purdie
     [not found]           ` <169D3274AAECC435.19323@lists.openembedded.org>
2021-08-22  3:12             ` Randy MacLeod
2021-08-22 11:19               ` Richard Purdie
2021-08-22 12:45                 ` Randy MacLeod
2021-08-23  9:21                   ` Richard Purdie
2021-08-24 16:48                     ` Randy MacLeod
     [not found]                     ` <169E4C0C80951608.1595@lists.openembedded.org>
2021-08-27  4:05                       ` Randy MacLeod
2021-08-27  9:03                         ` Richard Purdie
     [not found]                           ` <7A95231E-0879-46D6-8653-85338E9BDDFA@amazon.com>
2021-09-01  8:44                             ` Richard Purdie
     [not found]                             ` <16A0A6483A22DE64.7229@lists.openembedded.org>
2021-09-01  9:15                               ` Richard Purdie
     [not found]                         ` <169F1E62C63E8EDC.31425@lists.openembedded.org>
2021-08-27 12:04                           ` Richard Purdie [this message]
     [not found]                           ` <169F2844BF9C5B85.31425@lists.openembedded.org>
2021-09-01  8:38                             ` Richard Purdie
2021-08-27 14:31                         ` Armin Kuster
2021-08-27 20:09                         ` Tim Orling
     [not found]               ` <169D9CED4738B0BB.18298@lists.openembedded.org>
2021-08-22 12:38                 ` Richard Purdie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=666325b981f47975ed739b8d3eeaed46933845c0.camel@linuxfoundation.org \
    --to=richard.purdie@linuxfoundation.org \
    --cc=alexandre.belloni@bootlin.com \
    --cc=anbelski@linux.microsoft.com \
    --cc=cardoe@cardoe.com \
    --cc=derek@asterius.io \
    --cc=dev@codyps.com \
    --cc=ekuber@amazon.com \
    --cc=elberger@amazon.com \
    --cc=johan.anderholm@gmail.com \
    --cc=martin.jansa@gmail.com \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=paul@pbarker.dev \
    --cc=raj.khem@gmail.com \
    --cc=randy.macleod@windriver.com \
    --cc=saul.wold@windriver.com \
    --cc=steven@stevenwalter.org \
    --cc=timothy.t.orling@intel.com \
    --cc=trevor.gamblin@windriver.com \
    --cc=tylerwhall@gmail.com \
    --cc=vinay.kumar@blackfigtech.com \
    --cc=vinay.m.engg@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox