[issue28290] BETA report: Python-3.6 build messages to stderr: AIX and "not GCC"

Martin Panter report at bugs.python.org
Fri Oct 14 23:18:49 EDT 2016


Martin Panter added the comment:

For the blake problem, I guess the structures may either get laid out incorrectly, or you might be lucky and they will get the desired packing by default. You might have to find if XLC has another way to enable struct packing. Or in the worst case, rewrite the code to pack data in a portable manner without using a struct.

The feature test macros like _POSIX_C_SOURCE are also discussed in various bug reports, including Issue 17120. How are you invoking /usr/include/standards.h? Perhaps there is a compiler mode or buggy header file that is getting in the way?

Regarding the data and function pointer confusion, this is a tricky case. I understand standard C (C99 etc) does not require function pointers to be compatible with void pointers. However, POSIX might require partial compatibility, at least for casting the void pointer from dlsym() to a function pointer: <http://pubs.opengroup.org/onlinepubs/9699919799/functions/dlsym.html#tag_16_96_07>.

Does AIX actually have incompatible (e.g. different size) function and void pointers, or can we safely ignore those warnings? I think it may be annoying to change Python’s PyType_Slot and PyModuleDef_Slot structures to be compatible with function pointers, though perhaps it could be done with anonymous unions or something.

----------
nosy: +martin.panter

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue28290>
_______________________________________


More information about the Python-bugs-list mailing list