[Buildroot] [git commit branch/2018.11.x] package/cargo: pass appropriate library path to the linker

Peter Korsgaard peter at korsgaard.com
Mon Jan 28 17:13:43 UTC 2019


commit: https://git.buildroot.net/buildroot/commit/?id=820a4c61c82b8082cef8764607ab64c3058c3126
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/2018.11.x

When linking the host cargo binary, the linker should be told to find
libraries in $(HOST_DIR)/lib, otherwise it will not work libraries
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>
Signed-off-by: Peter Korsgaard <peter at korsgaard.com>
(cherry picked from commit b5e1b51dd1ee68ee342a3340c9c947c083861eb8)
Signed-off-by: Peter Korsgaard <peter at korsgaard.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))" \
 	CARGO_HOME=$(HOST_CARGO_HOME)
 
 define HOST_CARGO_BUILD_CMDS



More information about the buildroot mailing list