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

Arnout Vandecappelle arnout at mind.be
Tue Aug 3 16:03:59 UTC 2021



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.

 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.

 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.

 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