unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
From: Jesse Dowell <jesse.dowell@gmail.com>
To: 41546@debbugs.gnu.org
Subject: bug#41546: Shepherd network activation failures on armhf
Date: Tue, 26 May 2020 16:02:10 -0400	[thread overview]
Message-ID: <CADdvwM-xO3QLgG9z8sPnUWOtirqsZK6tNuwduWtO2EXmLL7hdQ@mail.gmail.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 2135 bytes --]

Hello,

I recently experienced a problem with the latest master branch code on an
armhf device. I was able to track down and fix the issue but it required
changes to guix/build/syscalls.scm.

My system previously booted correctly but after a recent 'guix pull' and
'guix system reconfigure' my device would fail to activate all networking
related services on boot including loopback.

The error message on failure in the terminal when trying to 'herd start
networking' was unhelpful but manual management of the network interfaces
could be completed successfully so it seemed to be an issue specific to the
way Shepherd was activating the loopback interface.

I was able to track my issue down to recently introduced code in
guix/build/syscalls.scm related to the GNU Hurd.

The following patch fixes the problem for me. The core of the issue is that
the new Hurd related  checks use string-suffix? rather than string-contains
like the code elsewhere in the module.

Whan string-suffix? is used it doesn't match my system %host-type which is
"arm-unknown-linux-gnueabihf" and the xxxx-socket-address!/hurd branch is
taken rather than xxxx-socket-address!/linux.

I don't know if this is only a problem on my unsupported device. I'm
running guix system on a Raspberry Pi 4b.

Here's the patch that fixes the issue for me.
-------------------------
diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm
index 8070c5546f..6be322d68f 100644
--- a/guix/build/syscalls.scm
+++ b/guix/build/syscalls.scm
@@ -1404,7 +1404,7 @@ bytevector BV at INDEX."
            (error "unsupported socket address" sockaddr)))))

 (define write-socket-address!
-  (if (string-suffix? "linux-gnu" %host-type)
+  (if (string-contains %host-type "linux-gnu")
       write-socket-address!/linux
       write-socket-address!/hurd))

@@ -1436,7 +1436,7 @@ bytevector BV at INDEX."
            (vector family)))))

 (define read-socket-address
-  (if (string-suffix? "linux-gnu" %host-type)
+  (if (string-contains %host-type "linux-gnu")
       read-socket-address/linux
       read-socket-address/hurd))
 ---------------------------

Best Regards,
Jesse

[-- Attachment #2: Type: text/html, Size: 2640 bytes --]

             reply	other threads:[~2020-05-26 20:09 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-26 20:02 Jesse Dowell [this message]
2020-05-29 16:35 ` bug#41546: Shepherd network activation failures on armhf Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CADdvwM-xO3QLgG9z8sPnUWOtirqsZK6tNuwduWtO2EXmLL7hdQ@mail.gmail.com \
    --to=jesse.dowell@gmail.com \
    --cc=41546@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).