GNU bug report logs -
#40556
[PATCH] gnu: dovecot: Add libunwind input.
Previous Next
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 40556 in the body.
You can then email your comments to 40556 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
guix-patches <at> gnu.org
:
bug#40556
; Package
guix-patches
.
(Sat, 11 Apr 2020 15:44:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Pierre Langlois <pierre.langlois <at> gmx.com>
:
New bug report received and forwarded. Copy sent to
guix-patches <at> gnu.org
.
(Sat, 11 Apr 2020 15:44:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hi Guix, Julien,
I noticed I couldn't build dovecot on either aarch64 or arm :-/. I did a
little bit of debugging, and it looks like the backtrace_symbols()
function isn't working correctly. Dovecot is able to use libunwind
instead, and this appears to work.
I then noticed it was reported upstream already, coming to the same
conclusion https://markmail.org/message/fjgo7lkuk7tk4iek
I wonder what's wrong with backtrace_symbols() in guix, I'm not sure how
to investigate that. For now though, what do you think of using
libunwind?
Thanks,
Pierre
[0001-gnu-dovecot-Add-libunwind-input.patch (text/x-patch, attachment)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#40556
; Package
guix-patches
.
(Sat, 11 Apr 2020 16:18:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 40556 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Pierre,
Pierre Langlois 写道:
> I wonder what's wrong with backtrace_symbols() in guix, I'm not
> sure how
> to investigate that. For now though, what do you think of using
> libunwind?
OK, but it should only be included on platforms that require it:
;; Untested…
(inputs
`(…
,@(match (%current-system)
((or "aarch64-linux" "armhf-linux" …)
`(("libunwind" ,libunwind)))
(_ `()))
…))
Could you test that?
Kind regards,
T G-R
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#40556
; Package
guix-patches
.
(Sat, 11 Apr 2020 16:54:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 40556 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Tobias Geerinckx-Rice writes:
> Pierre,
>
> Pierre Langlois 写道:
>> I wonder what's wrong with backtrace_symbols() in guix, I'm not sure
>> how
>> to investigate that. For now though, what do you think of using
>> libunwind?
>
> OK, but it should only be included on platforms that require it:
Oh sure thing!
>
> ;; Untested…
> (inputs
> `(…
> ,@(match (%current-system)
> ((or "aarch64-linux" "armhf-linux" …)
> `(("libunwind" ,libunwind)))
> (_ `()))
> …))
>
> Could you test that?
OK, the following patch works for me (tested building for armhf and
aarch64 on a rockpro64). I've also added a "FIXME" comment to mention
the issue so we can remove/keep it when we have a good understanding of
what's going on.
[0001-gnu-dovecot-Add-libunwind-input-for-arm.patch (text/x-patch, attachment)]
[Message part 3 (text/plain, inline)]
Thanks,
Pierre
Information forwarded
to
guix-patches <at> gnu.org
:
bug#40556
; Package
guix-patches
.
(Sat, 11 Apr 2020 17:58:01 GMT)
Full text and
rfc822 format available.
Message #14 received at 40556 <at> debbugs.gnu.org (full text, mbox):
Le 11 avril 2020 12:53:29 GMT-04:00, Pierre Langlois <pierre.langlois <at> gmx.com> a écrit :
>
>Tobias Geerinckx-Rice writes:
>
>> Pierre,
>>
>> Pierre Langlois 写道:
>>> I wonder what's wrong with backtrace_symbols() in guix, I'm not sure
>>> how
>>> to investigate that. For now though, what do you think of using
>>> libunwind?
>>
>> OK, but it should only be included on platforms that require it:
>
>Oh sure thing!
>
>>
>> ;; Untested…
>> (inputs
>> `(…
>> ,@(match (%current-system)
>> ((or "aarch64-linux" "armhf-linux" …)
>> `(("libunwind" ,libunwind)))
>> (_ `()))
>> …))
>>
>> Could you test that?
>
>OK, the following patch works for me (tested building for armhf and
>aarch64 on a rockpro64). I've also added a "FIXME" comment to mention
>the issue so we can remove/keep it when we have a good understanding of
>what's going on.
Great, thanks for working on it, I had totally forgotten about it, because I fixed it in my systems by not running tests. There's also a bug report I sent to bug-guix I think. Adding libunwind should work. I remember testing it once, but it was just too long and I forgot about it ^^"
Information forwarded
to
guix-patches <at> gnu.org
:
bug#40556
; Package
guix-patches
.
(Thu, 16 Apr 2020 16:26:01 GMT)
Full text and
rfc822 format available.
Message #17 received at 40556 <at> debbugs.gnu.org (full text, mbox):
Hi,
Pierre Langlois <pierre.langlois <at> gmx.com> skribis:
> + ;; FIXME: The 'test-backtrace' tests fail on arm when using glibc's
> + ;; backtrace_symbol() function so fallback to using libunwind.
> + ,@(match (or (%current-target-system) (%current-system))
> + ((or "aarch64-linux" "armhf-linux")
> + `(("libunwind" ,libunwind)))
> + (_ '()))
This isn’t quite correct because ‘%current-target-system’ returns a
triplet, like “arm-linux-gnueabihf”.
Use ‘target-arm?’ instead.
TIA!
Ludo’.
Information forwarded
to
guix-patches <at> gnu.org
:
bug#40556
; Package
guix-patches
.
(Thu, 16 Apr 2020 17:14:02 GMT)
Full text and
rfc822 format available.
Message #20 received at 40556 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hi Ludo!
Ludovic Courtès writes:
> Hi,
>
> Pierre Langlois <pierre.langlois <at> gmx.com> skribis:
>
>> + ;; FIXME: The 'test-backtrace' tests fail on arm when using glibc's
>> + ;; backtrace_symbol() function so fallback to using libunwind.
>> + ,@(match (or (%current-target-system) (%current-system))
>> + ((or "aarch64-linux" "armhf-linux")
>> + `(("libunwind" ,libunwind)))
>> + (_ '()))
>
> This isn’t quite correct because ‘%current-target-system’ returns a
> triplet, like “arm-linux-gnueabihf”.
Oups, I didn't realize the cross-compilation target was different.
>
> Use ‘target-arm?’ instead.
Yep, that works really nicely, it's much clearer.
I've tested on x86_64, arm and aarch64 natively. I'll try
cross-compiling with --target=arm-linux-gnueabihf and
--target=aarch64-linux-gnu as well but that'll take a little longer.
Thanks!
Pierre
[0001-gnu-dovecot-Add-libunwind-input-for-arm.patch (text/x-patch, attachment)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#40556
; Package
guix-patches
.
(Thu, 16 Apr 2020 17:42:02 GMT)
Full text and
rfc822 format available.
Message #23 received at 40556 <at> debbugs.gnu.org (full text, mbox):
Pierre Langlois writes:
> Hi Ludo!
>
> Ludovic Courtès writes:
>
>> Hi,
>>
>> Pierre Langlois <pierre.langlois <at> gmx.com> skribis:
>>
>>> + ;; FIXME: The 'test-backtrace' tests fail on arm when using glibc's
>>> + ;; backtrace_symbol() function so fallback to using libunwind.
>>> + ,@(match (or (%current-target-system) (%current-system))
>>> + ((or "aarch64-linux" "armhf-linux")
>>> + `(("libunwind" ,libunwind)))
>>> + (_ '()))
>>
>> This isn’t quite correct because ‘%current-target-system’ returns a
>> triplet, like “arm-linux-gnueabihf”.
>
> Oups, I didn't realize the cross-compilation target was different.
>
>>
>> Use ‘target-arm?’ instead.
>
> Yep, that works really nicely, it's much clearer.
>
> I've tested on x86_64, arm and aarch64 natively. I'll try
> cross-compiling with --target=arm-linux-gnueabihf and
> --target=aarch64-linux-gnu as well but that'll take a little longer.
Right, it seems dovecot isn't yet cross-compilable, but cross-compiling
libunwind works just fine. With dovecot I get a failure trying to
compile perl natively, as openssl's native-input I believe.
```
$ ./pre-inst-env guix build --target=aarch64-linux-gnu openssl
...
phase `install' succeeded after 21.6 seconds
starting phase `remove-extra-references'
Backtrace:
14 (primitive-load "/gnu/store/p51mz7mawiixjly3579bfyfv4hx…")
In ice-9/eval.scm:
191:35 13 (_ _)
In ice-9/boot-9.scm:
829:9 12 (catch _ _ #<procedure 7ffff3bba518 at /gnu/store/w3jl…> …)
In srfi/srfi-1.scm:
863:16 11 (every1 #<procedure 7ffff2d50cc0 at /gnu/store/w3jlc8p…> …)
In /gnu/store/w3jlc8pk8416m7h677r5vq92b66h8cqd-module-import/guix/build/gnu-build-system.scm:
839:30 10 (_ _)
In ice-9/eval.scm:
619:8 9 (_ #(#(#(#(#(#(#<directory (guile-user)…>) …) …) …) …) …))
In ice-9/boot-9.scm:
841:4 8 (with-throw-handler _ _ _)
In ice-9/ports.scm:
445:17 7 (call-with-input-file _ _ #:binary _ #:encoding _ # _)
In /gnu/store/w3jlc8pk8416m7h677r5vq92b66h8cqd-module-import/guix/build/utils.scm:
739:26 6 (_ _)
765:26 5 (_ #<input: /gnu/store/kbsn60lnf6vyim3b511qvnadlldmjv1…> …)
In srfi/srfi-1.scm:
466:18 4 (fold #<procedure 7ffff3b98790 at /gnu/store/w3jlc8pk8…> …)
In ice-9/eval.scm:
202:51 3 (_ #(#(#(#(#(#(#<directory (guile-user)…> …)) …) …) …) …))
163:9 2 (_ #(#(#(#(#(#(#<directory (guile-user)…> …)) …) …) …) …))
In unknown file:
1 (string-append "incpth='" #f "/include'\n")
In ice-9/boot-9.scm:
752:25 0 (dispatch-exception _ _ _)
ice-9/boot-9.scm:752:25: In procedure dispatch-exception:
In procedure string-append: Wrong type (expecting string): #f
builder for `/gnu/store/50wrwqkvryprlghiqnx3aq8w7ss8mak6-perl-5.30.0.drv' failed with exit code 1
build of /gnu/store/50wrwqkvryprlghiqnx3aq8w7ss8mak6-perl-5.30.0.drv failed
View build log at '/var/log/guix/drvs/50/wrwqkvryprlghiqnx3aq8w7ss8mak6-perl-5.30.0.drv.bz2'.
guix build: error: build of `/gnu/store/50wrwqkvryprlghiqnx3aq8w7ss8mak6-perl-5.30.0.drv' failed
```
But, I think perl has been fixed on core-updates, so we should be good
for this!
Thanks,
Pierre
Reply sent
to
Ludovic Courtès <ludo <at> gnu.org>
:
You have taken responsibility.
(Fri, 17 Apr 2020 08:21:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Pierre Langlois <pierre.langlois <at> gmx.com>
:
bug acknowledged by developer.
(Fri, 17 Apr 2020 08:21:02 GMT)
Full text and
rfc822 format available.
Message #28 received at 40556-done <at> debbugs.gnu.org (full text, mbox):
Hi Pierre,
Pierre Langlois <pierre.langlois <at> gmx.com> skribis:
> Right, it seems dovecot isn't yet cross-compilable, but cross-compiling
> libunwind works just fine. With dovecot I get a failure trying to
> compile perl natively, as openssl's native-input I believe.
Not your fault, and it’s fixed on core-updates as you write.
I’ve applied the patch, thank you!
Ludo’.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Fri, 15 May 2020 11:24:06 GMT)
Full text and
rfc822 format available.
This bug report was last modified 5 years and 37 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.