PyPy3.9 7.3.9 fails to build on musl: 'struct timeval' declared inside parameter list will not be visible outside of this definition or declaration
After working around #3559 (closed), I get the following build error:
In file included from /var/tmp/portage/dev-python/pypy3-exe-7.3.9_p3/work/pypy3.9-v7.3.9-src/rpython/../pypy/module/cpyext/include/Python.h:62,
from bytesobject.c:1:
/var/tmp/portage/dev-python/pypy3-exe-7.3.9_p3/work/pypy3.9-v7.3.9-src/rpython/../pypy/module/cpyext/include/pytime.h:126:12: warning: 'struct timeval' declared inside parameter list will not be visible outside of this definition or declaration
126 | struct timeval *tv,
| ^~~~~~~
/var/tmp/portage/dev-python/pypy3-exe-7.3.9_p3/work/pypy3.9-v7.3.9-src/rpython/../pypy/module/cpyext/include/pytime.h:131:12: warning: 'struct timeval' declared inside parameter list will not be visible outside of this definition or declaration
131 | struct timeval *tv,
| ^~~~~~~
In file included from /var/tmp/portage/dev-python/pypy3-exe-7.3.9_p3/work/pypy3.9-v7.3.9-src/rpython/../pypy/module/cpyext/include/Python.h:62,
from import.c:1:
/var/tmp/portage/dev-python/pypy3-exe-7.3.9_p3/work/pypy3.9-v7.3.9-src/rpython/../pypy/module/cpyext/include/pytime.h:126:12: warning: 'struct timeval' declared inside parameter list will not be visible outside of this definition or declaration
126 | struct timeval *tv,
| ^~~~~~~
/var/tmp/portage/dev-python/pypy3-exe-7.3.9_p3/work/pypy3.9-v7.3.9-src/rpython/../pypy/module/cpyext/include/pytime.h:131:12: warning: 'struct timeval' declared inside parameter list will not be visible outside of this definition or declaration
131 | struct timeval *tv,
| ^~~~~~~
pytime.c:531:1: error: conflicting types for '_PyTime_AsTimeval'; have 'int(_PyTime_t, struct timeval *, _PyTime_round_t)' {aka 'int(long int, struct timeval *, _PyTime_round_t)'}
531 | _PyTime_AsTimeval(_PyTime_t t, struct timeval *tv, _PyTime_round_t round)
| ^~~~~~~~~~~~~~~~~
In file included from /var/tmp/portage/dev-python/pypy3-exe-7.3.9_p3/work/pypy3.9-v7.3.9-src/rpython/../pypy/module/cpyext/include/Python.h:62,
from pytime.c:1:
/var/tmp/portage/dev-python/pypy3-exe-7.3.9_p3/work/pypy3.9-v7.3.9-src/rpython/../pypy/module/cpyext/include/pytime.h:125:17: note: previous declaration of '_PyTime_AsTimeval' with type 'int(_PyTime_t, struct timeval *, _PyTime_round_t)' {aka 'int(long int, struct timeval *, _PyTime_round_t)'}
125 | PyAPI_FUNC(int) _PyTime_AsTimeval(_PyTime_t t,
| ^~~~~~~~~~~~~~~~~
pytime.c:537:1: error: conflicting types for '_PyTime_AsTimeval_noraise'; have 'int(_PyTime_t, struct timeval *, _PyTime_round_t)' {aka 'int(long int, struct timeval *, _PyTime_round_t)'}
537 | _PyTime_AsTimeval_noraise(_PyTime_t t, struct timeval *tv, _PyTime_round_t round)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /var/tmp/portage/dev-python/pypy3-exe-7.3.9_p3/work/pypy3.9-v7.3.9-src/rpython/../pypy/module/cpyext/include/Python.h:62,
from pytime.c:1:
/var/tmp/portage/dev-python/pypy3-exe-7.3.9_p3/work/pypy3.9-v7.3.9-src/rpython/../pypy/module/cpyext/include/pytime.h:130:17: note: previous declaration of '_PyTime_AsTimeval_noraise' with type 'int(_PyTime_t, struct timeval *, _PyTime_round_t)' {aka 'int(long int, struct timeval *, _PyTime_round_t)'}
130 | PyAPI_FUNC(int) _PyTime_AsTimeval_noraise(_PyTime_t t,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
make: *** [Makefile:975: pytime.o] Error 1
I'm going to investigate.