diff mbox series

rust: Allow reusing locally installed gpio library

Message ID 3d03ede97ce0717e3f69de8fd4175407a3aa3a0e.1674548651.git.viresh.kumar@linaro.org
State New
Headers show
Series rust: Allow reusing locally installed gpio library | expand

Commit Message

Viresh Kumar Jan. 24, 2023, 8:23 a.m. UTC
The rust crates builds fine when built with the 'make' command, as
static linking works fine. But when referenced from a remote rust crate,
it gives following error:

error: could not find native static library `gpiod`, perhaps an -L flag is missing?

This happens since we only support 'static' LIB-KIND currently. Remove
the same to allow others to work too.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 bindings/rust/libgpiod-sys/build.rs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Bartosz Golaszewski Jan. 24, 2023, 9:16 a.m. UTC | #1
On Tue, Jan 24, 2023 at 9:24 AM Viresh Kumar <viresh.kumar@linaro.org> wrote:
>
> The rust crates builds fine when built with the 'make' command, as
> static linking works fine. But when referenced from a remote rust crate,
> it gives following error:
>
> error: could not find native static library `gpiod`, perhaps an -L flag is missing?
>
> This happens since we only support 'static' LIB-KIND currently. Remove
> the same to allow others to work too.
>
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---
>  bindings/rust/libgpiod-sys/build.rs | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/bindings/rust/libgpiod-sys/build.rs b/bindings/rust/libgpiod-sys/build.rs
> index 274069eb9e9d..e3ed04afa141 100644
> --- a/bindings/rust/libgpiod-sys/build.rs
> +++ b/bindings/rust/libgpiod-sys/build.rs
> @@ -37,5 +37,5 @@ fn main() {
>      generate_bindings();
>
>      println!("cargo:rustc-link-search=./../../lib/.libs/");
> -    println!("cargo:rustc-link-lib=static=gpiod");
> +    println!("cargo:rustc-link-lib=gpiod");
>  }
> --
> 2.31.1.272.g89b43f80a514
>

I don't understand how that works very well but I trust you know what
you're doing so applied.

Bart
Viresh Kumar Jan. 24, 2023, 9:18 a.m. UTC | #2
On 24-01-23, 10:16, Bartosz Golaszewski wrote:
> I don't understand how that works very well but I trust you know what
> you're doing so applied.

Thanks. Here are some details:

https://doc.rust-lang.org/cargo/reference/build-scripts.html#cargorustc-link-liblib
diff mbox series

Patch

diff --git a/bindings/rust/libgpiod-sys/build.rs b/bindings/rust/libgpiod-sys/build.rs
index 274069eb9e9d..e3ed04afa141 100644
--- a/bindings/rust/libgpiod-sys/build.rs
+++ b/bindings/rust/libgpiod-sys/build.rs
@@ -37,5 +37,5 @@  fn main() {
     generate_bindings();
 
     println!("cargo:rustc-link-search=./../../lib/.libs/");
-    println!("cargo:rustc-link-lib=static=gpiod");
+    println!("cargo:rustc-link-lib=gpiod");
 }