guix-devel
[Top][All Lists]
Advanced

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

Re: GMP GCC C++ Hurd cross-build failure on core-updates


From: Ludovic Courtès
Subject: Re: GMP GCC C++ Hurd cross-build failure on core-updates
Date: Mon, 19 Dec 2022 22:06:00 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)

Hi zamfofex,

And sorry for the late reply…

zamfofex <zamfofex@twdb.moe> skribis:

> hurdauth.c:166:1: error: conflicting types for ‘_S_msg_del_auth’; have 
> ‘kern_return_t(mach_port_t,  task_t,  const int *, mach_msg_type_number_t,  
> const int *, mach_msg_type_number_t)’ {aka ‘int(long unsigned int,  long 
> unsigned int,  const int *, unsigned int,  const int *, unsigned int)’}
>   166 | _S_msg_del_auth (mach_port_t me,
>       | ^~~~~~~~~~~~~~~
> In file included from hurdauth.c:19:
> /tmp/guix-build-glibc-cross-i586-pc-gnu-2.35.drv-0/build/hurd/hurd/msg_server.h:72:15:
>  note: previous declaration of ‘_S_msg_del_auth’ with type 
> ‘kern_return_t(mach_port_t,  mach_port_t,  int *, mach_msg_type_number_t,  
> int *, mach_msg_type_number_t)’ {aka ‘int(long unsigned int,  long unsigned 
> int,  int *, unsigned int,  int *, unsigned int)’}
>    72 | kern_return_t _S_msg_del_auth
>       |               ^~~~~~~~~~~~~~~
> make[2]: *** [../o-iterator.mk:9: 
> /tmp/guix-build-glibc-cross-i586-pc-gnu-2.35.drv-0/build/hurd/hurdauth.o] 
> Error 1

Looking at this, glibc now has ‘const’ qualifiers for the ‘uids’ and
‘gids’ parameters:

--8<---------------cut here---------------start------------->8---
kern_return_t
_S_msg_del_auth (mach_port_t me,
                 task_t task,
                 const_intarray_t uids, mach_msg_type_number_t nuids,
                 const_intarray_t gids, mach_msg_type_number_t ngids)
--8<---------------cut here---------------end--------------->8---

This comes from this glibc commit:

  commit 0eb230ccceee70c4b5d2a75807d2189aa4ed6e7c
  Date:   Sun Jan 16 18:28:40 2022 +0000

      hurd: Make RPC input array parameters const

      This follows mig's cf4bcc3f1435 ("Also add const qualifiers on server
      side")

My guess is that you’re running a version of MiG that’s older than
cf4bcc3f1435 (MiG commit), and thus it generates stubs (such as the
‘msg_server.h’ file mentioned in the error message above) that lack
those ‘const’ qualifiers.

If that reasoning is good, updating MiG should fix it.

HTH,
Ludo’.



reply via email to

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