[Buildroot] [PATCH] package/cargo: pass appropriate library path to the linker
Peter Korsgaard
peter at korsgaard.com
Thu Jan 17 22:04:23 UTC 2019
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni at bootlin.com> writes:
> When linking the host cargo binary, the linker should be told to find
> libraries in $(HOST_DIR)/lib, otherwise it will not work libraries
s/work/find/
> such as libhttp_parser. This was found with per-package directory
> support, where the build failed with:
> = note: /usr/bin/ld: cannot find -lhttp_parser
> collect2: error: ld returned 1 exit status
> In order to fix this, instead of passing -L$(HOST_DIR)/lib during the
> build of Cargo, we make sure all flags in $(HOST_LDFLAGS) are passed.
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
> ---
> package/cargo/cargo.mk | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
> diff --git a/package/cargo/cargo.mk b/package/cargo/cargo.mk
> index 1b1053ba41..a387281b4c 100644
> --- a/package/cargo/cargo.mk
> +++ b/package/cargo/cargo.mk
> @@ -70,7 +70,7 @@ HOST_CARGO_SNAP_OPTS = \
> $(if $(VERBOSE),--verbose)
> HOST_CARGO_ENV = \
> - RUSTFLAGS="-Clink-arg=-Wl,-rpath,$(HOST_DIR)/lib" \
> + RUSTFLAGS="$(addprefix -Clink-arg=,$(HOST_LDFLAGS))" \
The -Clink-arg= thing looked odd to me, but is apparently how linker
flags are passed:
https://github.com/rust-lang/rust/pull/36574
Committed, thanks.
--
Bye, Peter Korsgaard
More information about the buildroot
mailing list