classification
Title: socket.TCP_* no longer available with cygwin 3.1.6+
Type: compile error Stage: patch review
Components: Build Versions: Python 3.8
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: ZackerySpytz, erik.bray, lazka
Priority: normal Keywords: patch

Created on 2020-07-23 07:51 by lazka, last changed 2020-07-28 01:23 by ZackerySpytz.

Pull Requests
URL Status Linked Edit
PR 21649 open ZackerySpytz, 2020-07-28 01:23
Messages (1)
msg374126 - (view) Author: Christoph Reiter (lazka) * Date: 2020-07-23 07:51
The TCP macros are provided by netinet/tcp.h, which for some reason is skipped here: https://github.com/python/cpython/blob/592527f3ee59616eca2bd1da771f7c14cee808d5/Modules/socketmodule.h#L11

Until cygwin 3.1.6 these macros were also provided by sys/socket.h, but this got removed in https://cygwin.com/git/?p=newlib-cygwin.git;a=commit;h=e037192b505b4f233fca9a6deafc9797210f6693

This leads to socket.TCP_NODELAY for example not being available anymore.

git blame leads me to https://github.com/python/cpython/commit/b5daaed30d7c54ba1f516289f3a7a30a864133af introducing this special case, which isn't very helpful. I'd suggest to just remove the cygwin check and always include it (which works fine on my machine)

Downstream bug report for extra context: https://github.com/msys2/MSYS2-packages/issues/2050
History
Date User Action Args
2020-07-28 01:23:43ZackerySpytzsetkeywords: + patch
nosy: + ZackerySpytz

pull_requests: + pull_request20789
stage: patch review
2020-07-23 18:21:25lazkasetnosy: + erik.bray
2020-07-23 07:51:44lazkacreate