[bug#64576] gnu: libusb-compat: Compile with full path of libusb-1.0.so
Commit Message
fix bug#64409
In libusb-compat-0.1.8/libusb/libusb-dload.h, dlopen is used to load libusb.
We need to specify an absolute path.
With this fix, teensy_loader_cli doesn't immediately fail with a missing library error.
./pre-inst-env guix shell teensy-loader-cli -- teensy_loader_cli
If you merge the patch from bug#64563 first, you can't test this patch with teensy_loader_cli.
Comments
Hi,
nathan <nathan_mail@nborghese.com> writes:
> fix bug#64409
> In libusb-compat-0.1.8/libusb/libusb-dload.h, dlopen is used to load libusb.
> We need to specify an absolute path.
> With this fix, teensy_loader_cli doesn't immediately fail with a missing library error.
> ./pre-inst-env guix shell teensy-loader-cli -- teensy_loader_cli
> If you merge the patch from bug#64563 first, you can't test this patch with teensy_loader_cli.
>
>>From c0a8ecea0ce6f3954061a3d061a3243fa65c6cfb Mon Sep 17 00:00:00 2001
> From: nathan <nathan_mail@nborghese.com>
> Date: Mon, 10 Jul 2023 23:22:48 -0400
> Subject: [PATCH] gnu: libusb-compat: Compile with full path of libusb-1.0.so
>
> * gnu/packages/libusb.scm (libusb) [configure-flags]: Provide full path of
> libusb-1.0.so so dlopen works.
> ---
> gnu/packages/libusb.scm | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm
> index d0837c8a91..39586147ba 100644
> --- a/gnu/packages/libusb.scm
> +++ b/gnu/packages/libusb.scm
> @@ -101,7 +101,10 @@ (define-public libusb-compat
> (build-system gnu-build-system)
> (arguments
> (list #:configure-flags
> - #~(list "--disable-static")))
> + #~(list "--disable-static"
> + (string-append "LIBUSB_1_0_SONAME="
> + #$(this-package-input "libusb")
> + "/lib/libusb-1.0.so"))))
> (native-inputs
> (list autoconf automake libtool pkg-config))
> (inputs
Interesting! I fixed this independently with ddd8bb104, using a RUNPATH
approach. Yours is a better solution, now applied :-).
From c0a8ecea0ce6f3954061a3d061a3243fa65c6cfb Mon Sep 17 00:00:00 2001
From: nathan <nathan_mail@nborghese.com>
Date: Mon, 10 Jul 2023 23:22:48 -0400
Subject: [PATCH] gnu: libusb-compat: Compile with full path of libusb-1.0.so
* gnu/packages/libusb.scm (libusb) [configure-flags]: Provide full path of
libusb-1.0.so so dlopen works.
---
gnu/packages/libusb.scm | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
@@ -101,7 +101,10 @@ (define-public libusb-compat
(build-system gnu-build-system)
(arguments
(list #:configure-flags
- #~(list "--disable-static")))
+ #~(list "--disable-static"
+ (string-append "LIBUSB_1_0_SONAME="
+ #$(this-package-input "libusb")
+ "/lib/libusb-1.0.so"))))
(native-inputs
(list autoconf automake libtool pkg-config))
(inputs
--
2.41.0