Issue 30864: Compile failure for linux socket CAN support (original) (raw)

I have an issue related to this while trying to compile statically Python 3.6.1 (but latest master looks the same) against a static musl.

The problem is that i have AF_CAN defined because it's defined in linux/socket.h but by not having HAVE_LINUX_CAN_H defined in pyconfig.h the header which contains the definition of struct sockaddr_can is not included. I think (at least for linux) using AF_CAN for the conditionals is wrong and the HAVE_LINUX_CAN_H should be used instead.

I think the same applies for CAN_RAW and CAN_BCM because they are defined in the generic linux/can.h and not in a feature specific header.

Reference: http://bugs.python.org/issue10141