GNU bug report logs -
#54780
[PATCH] gnu: lttng-ust: Fix dependencies.
Previous Next
Full log
Message #32 received at 54780 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Olivier Dion schreef op vr 08-04-2022 om 13:17 [-0400]:
> --------------------
> (modify-phases %standard-phases
> (add-after 'patch-source-shebangs 'patch-source-headers
> (lambda* (#:key inputs #:allow-other-keys)
> (substitute* (find-files "./include" ".h")
> (("<(urcu/(compiler|pointer|arch|system|uatomic|config|list|tls-compat|debug|ref|rculist).h)>" _ letters _)
> (format #f "<~a>"
> (search-input-file inputs
> (string-append "include/" letters))))))))
This is for the lttng-ust package, right?
The idea was to do this in a post-install phase of liburcu.
> --------------------
>
> this seems to build the package correctly and also change the RCU
> headers for lttng-ust. However, liburcu also include some architecture
> specific headers. So I get the following error while compiling my
> program:
>
> --------------------
> In file included from /gnu/store/5qk5mmffc1m9cla71jywn0qz03bk6yhi-profile/include/lttng/urcu/pointer.h:14,
> from /gnu/store/5qk5mmffc1m9cla71jywn0qz03bk6yhi-profile/include/lttng/tracepoint-rcu.h:11,
> from /gnu/store/5qk5mmffc1m9cla71jywn0qz03bk6yhi-profile/include/lttng/tracepoint.h:13,
> from tracepoint.h:10,
> from tracepoint.c:4:
> /gnu/store/25nlsljfziysgbhhj9nhwfm4qn5h4b71-liburcu-0.13.1/include/urcu/arch.h:65:10: fatal error: urcu/arch/x86.h: No such file or directory
> 65 | #include <urcu/arch/x86.h>
> | ^~~~~~~~~~~~~~~~~
> compilation terminated.
> --------------------
>
> How could this be fix? That would require to modify the inputs no?
I suggest moving the post-unpack substitute* phase from lttng-ust to a
post-install phase in liburcu. That way, urcu/arch.h can be patched to
use an absolute file name.
Also, this ...
(urcu/(compiler|pointer|arch|system|uatomic|config|list|tls compat|debug|ref|rculist).h)>
seems rather fragile and could easily break on future updates of lttng-ust.
The idea of the 'absolute-inclusions.scm' file I sent, is to automate things.
More concretely, my suggestion is to:
* add absolute-inclusions.scm to the Guix repo, in guix/build
* modify liburcu to:
(package
(name "liburcu")
[...]
(arguments
(list #:imported-modules `(,@%gnu-build-system-modules (guix build absolute-inclusions))
#:modules '((guix build gnu-build-system)
(guix build absolute-inclusions))
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'absolute-inclusions absolute-inclusions)))))
Greetings,
Maxime.
[signature.asc (application/pgp-signature, inline)]
This bug report was last modified 2 years and 343 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.