where is the definition of idtype_t supposed to live?

John Lumby johnlumby@hotmail.com
Sun Oct 22 23:39:00 GMT 2017


I recently built and installed glibc-2.24 myself and hit a problem while 
compiling an application which calls wait() :

/usr/include/x86_64-linux-gnu/sys/wait.h:148:20: error: unknown type 
name ‘idtype_t’
  extern int waitid (idtype_t __idtype, __id_t __id, siginfo_t *__infop,
                     ^

After a bit of research I see that :

version      defined in
2.19            sys/wait.h           ##  where one might it expect it to 
live since  its only reference is in here
2.21            sys/waitflags.h   ##  strange home as it is an enum for 
an input parm,  not a WAITFLAG
2.24            ???                     ## after a make install into an 
install_root, I do not see it defined anywhere under the install_root

After adding the missing definition into the sys/wait.h for 2.24, all is 
well again.

I see it is present in the sources in glibc-2.24/posix/sys/wait.h but 
make somehow constructed some other one :
maybe related to this line
evaluate-test.sh conform/XOPEN2K8/sys/wait.h ...

It is more than likely I did something wrong,   but I have two questions:

1. building glibc-2.24 on a "normal" linux-x86-64 system with this in 
config.log
../glibc-2.24/configure 
--with-headers=/mnt/bluebild/linux-4.8.6-NETIF_SHIELD/usr/include 
--prefix=/usr --enable-add-ons=libidn --enable-kernel=4.8.6
  (building with gcc-5.4 if relevant,  shouldn't be)
where would you expect the definition for idtype_t to be in the 
installed system?

2. ditto for 2.26 if different   (I did not try this yet)

Cheers,   John


More information about the Libc-help mailing list