Subject: [bug#78604] [PATCH 2/2] gnu: signond: Fix finding libraries.

From: Sergey Trofimov <[email-masked]>
Date: Tue, 27 May 2025 21:37:51 +0200

Hi,

Sughosha <[email-masked]> writes:

> * gnu/packages/qt.scm (signond)[arguments]<#:phases>: Add wrap-with-libs
> phase.
>
> Change-Id: Ifef13dfade2cec019fe7615ea43d957fafea2529
> ---
>  gnu/packages/qt.scm | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
> index 0bd262341f3..d1c1f72ef9f 100644
> --- a/gnu/packages/qt.scm
> +++ b/gnu/packages/qt.scm
> @@ -5913,7 +5913,13 @@ (define-public signond
>                                       #$output "/lib/signon")))
>                     (invoke "qmake"
>                             (string-append "PREFIX=" #$output)
> -                           (string-append "LIBDIR=" #$output "/lib")))))))
> +                           (string-append "LIBDIR=" #$output "/lib"))))
> +               ;; "signond" executable fails to find its own libraries.
> +               (add-after 'install 'wrap-with-libs
> +                 (lambda _
> +                   (wrap-program (string-append #$output "/bin/signond")
> +                     `("LD_LIBRARY_PATH" ":" prefix
> +                        (,(string-append #$output "/lib")))))))))

setting LD_LIBRARY_PATH should be the last resort
instead you need to pass the right ldflags:

--8<---------------cut here---------------start------------->8---
(invoke "qmake"
   (string-append "QMAKE_LFLAGS_RPATH=-Wl,-rpath,"
        #$output "/lib -Wl,-rpath,")
   ...
--8<---------------cut here---------------end--------------->8---

and I think you can remove the QMAKE_RPATHDIR substitution, it seems to
be doing nothing (the package builds fine without it)