bug-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#45716: Bug in ‘network-interface-names’ when building guix for aarch


From: Danny Milosavljevic
Subject: bug#45716: Bug in ‘network-interface-names’ when building guix for aarch64 on x86_64.
Date: Fri, 8 Jan 2021 04:04:45 +0100

Hi Stefan,

>I have however no clue, why the number of bytes is only 32 in case of aarch64. 
>This value is taken from the struct ifconf read via ioctl(SIOCGIFCONF).

guix/build/syscalls.scm has:

>(define ifreq-struct-size
>  ;; 'struct ifreq' begins with an array of IF_NAMESIZE bytes containing the
>  ;; interface name (nul-terminated), followed by a bunch of stuff.  This is
>  ;; its size in bytes.
>  (if (= 8 (sizeof '*))
>      40
>      32))

I think that should rather be (sizeof* '*) instead of (sizeof '*).  Ludo?

Can you try printing (@@ (guix build syscalls) ifreq-struct-size) directly ?

>To be precise this is all running in a virtual machine with virtio-net-pci.
>Both kernel and qemu on the host are rather old. However, building for x86_64
>works just fine, so I think the host setup is unrelated.

Is it qemu-user or qemu-system ?

(Note: Empirically, on armhf, that struct is 32 Bytes big in C.
And indeed the Linux kernel contains a compat struct ifreq32 in 
fs/compat_ioctl.c)

Attachment: pgpLgcII_hmdd.pgp
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]