[Buildroot] [PATCH 2/2] package/ripgrep: add workaround for cargo bug #3349

James Hilliard james.hilliard1 at gmail.com
Tue Aug 3 23:51:26 UTC 2021


On Tue, Aug 3, 2021 at 10:04 AM Arnout Vandecappelle <arnout at mind.be> wrote:
>
>
>
> On 02/08/2021 00:59, James Hilliard wrote:
> > To fix this bug we have to use an undocumented test variable to enable
>
>  That is pretty nasty. Since there is a patch that is merged upstream, it would
> have been nicer to just patch cargo instead. Especially because other packages
> (external, obviously) are likely to be hit with the same issue.

Well the merged patch merely allows this fix to be used in channels that allow
nightly features, there is no patch currently merged upstream that allows it to
be used normally in the stable channels.

See unmerged stabilization patch:
https://github.com/rust-lang/cargo/pull/9753

>
>  That said, since we have a choice to use rust-bin rather than building our own
> rust, patching cargo is not so simple... So OK.

Yeah, trying to patch cargo is a lot more difficult than just using
the undocumented
channel override env variable.

>
>  Both applied to master, thanks.
>
>
>  BTW, when you resend a patch, it would be nice if you could update patchwork to
> mark the old one as superseded.

Hmm, must have accidentally sent it twice, I usually try to do that.

>
>  Regards,
>  Arnout
>
> > the nightly target-applies-to-host feature so that the target linker
> > doesn't get used for host binaries like the build-script.
> >
> > Fixes:
> > error: failed to run custom build command for `ripgrep v0.8.1 (/home/buildroot/buildroot/output/build/ripgrep-0.8.1)`
> >
> > Caused by:
> >   process didn't exit successfully: `/home/buildroot/buildroot/output/build/ripgrep-0.8.1/target/release/build/ripgrep-59eeb7069534e1ef/build-script-build` (exit status: 1)
> >   --- stderr
> >   /home/buildroot/buildroot/output/build/ripgrep-0.8.1/target/release/build/ripgrep-59eeb7069534e1ef/build-script-build: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /home/buildroot/buildroot/output/build/ripgrep-0.8.1/target/release/build/ripgrep-59eeb7069534e1ef/build-script-build)
> >
> > Details:
> > https://github.com/rust-lang/cargo/issues/3349
> > https://github.com/rust-lang/cargo/pull/9322
> >
> > Signed-off-by: James Hilliard <james.hilliard1 at gmail.com>
> > ---
> >  package/ripgrep/ripgrep.mk | 5 ++++-
> >  1 file changed, 4 insertions(+), 1 deletion(-)
> >
> > diff --git a/package/ripgrep/ripgrep.mk b/package/ripgrep/ripgrep.mk
> > index 2cc578383d..450bb020e3 100644
> > --- a/package/ripgrep/ripgrep.mk
> > +++ b/package/ripgrep/ripgrep.mk
> > @@ -11,11 +11,14 @@ RIPGREP_LICENSE_FILES = LICENSE-MIT
> >  RIPGREP_CPE_ID_VENDOR = ripgrep_project
> >
> >  RIPGREP_DEPENDENCIES = host-rustc
> > -RIPGREP_CARGO_ENV = CARGO_HOME=$(HOST_DIR)/share/cargo
> > +RIPGREP_CARGO_ENV = CARGO_HOME=$(HOST_DIR)/share/cargo \
> > +     __CARGO_TEST_CHANNEL_OVERRIDE_DO_NOT_USE_THIS="nightly" \
> > +     CARGO_TARGET_APPLIES_TO_HOST="false"
> >
> >  RIPGREP_BIN_DIR = target/$(RUSTC_TARGET_NAME)/$(RIPGREP_CARGO_BIN_SUBDIR)
> >
> >  RIPGREP_CARGO_OPTS = \
> > +     -Z target-applies-to-host \
> >       --target=$(RUSTC_TARGET_NAME) \
> >       --manifest-path=$(@D)/Cargo.toml
> >
> >


More information about the buildroot mailing list