gcc -pthread -fPIC -fno-strict-aliasing -DNDEBUG -g -O 3 -Wall -Wstrict-prototypes -I. -I/home/users/arekm/ test/python/./Include -I/home/users/arekm/test/python- test/include -I/usr/include/ncurses -I./Include -I. -I/ usr/local/include -I/home/users/arekm/test/python/ Include -I/home/users/arekm/test/python -c /home/users/ arekm/test/python/Modules/socketmodule.c -o build/temp. linux-i686-2.5/socketmodule.o /home/users/arekm/test/python/Modules/socketmodule.c: In function ‘init_socket’: /home/users/arekm/test/python/Modules/socketmodule.c: 4050: error: ‘NETLINK_ARPD’ undeclared (first use in this function) /home/users/arekm/test/python/Modules/socketmodule.c: 4050: error: (Each undeclared identifier is reported only once /home/users/arekm/test/python/Modules/socketmodule.c: 4050: error: for each function it appears in.) /home/users/arekm/test/python/Modules/socketmodule.c: 4051: error: ‘NETLINK_ROUTE6’ undeclared (first use in this function) /home/users/arekm/test/python/Modules/socketmodule.c: 4054: error: ‘NETLINK_TAPBASE’ undeclared (first use in this function) I'm using sanitized version of linux headers - linux- libc-headers. Attached patch fixes these by ifdefing them + adds NETLINK_W1 which replaced NETLINK_SKIP in latest linux kernels.