All of lore.kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.