Skip to content

Revive the AppVeyor matrix: osiSocklen_t portability + Python 3 pin - #239

Merged
MarkRivers merged 2 commits into
epics-modules:masterfrom
physwkim:fix/ipport-socklen-portability
Jul 21, 2026
Merged

Revive the AppVeyor matrix: osiSocklen_t portability + Python 3 pin#239
MarkRivers merged 2 commits into
epics-modules:masterfrom
physwkim:fix/ipport-socklen-portability

Conversation

@physwkim

@physwkim physwkim commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Two small fixes that revive the broken AppVeyor matrix:

  1. drvAsynIPPort.c:546socklen_t (from Nonblocking connect using poll #211) is POSIX, and Base 3.14 on Windows defines neither it nor a header that does, so the BASE=3.14 vs2019 jobs fail with error C2065: socklen_t: undeclared identifier. Base 7.0 gets it via the newer WinSock headers, which is why only the 3.14 jobs break. osiSocklen_t from osiSock.h (already included) is the EPICS-portable spelling; on POSIX it is socklen_t, so no behavior change. This is the only bare socklen_t in the tree.

  2. .appveyor.yml — the default (VS2015) and VS2017 images resolve python/pip to Python 2.7, and ci-core-dumper now requires >= 3.8, so every gcc/vs2013/vs2015/vs2017 job dies in the install phase before compiling anything. Pin C:\Python38-x64 onto PATH and invoke pip as python -m pip, copying the install stanza epics-base uses with the same images.

physwkim added 2 commits July 21, 2026 10:23
socklen_t is POSIX, not C; Base 3.14 on Windows defines neither it nor
a header that does, so drvAsynIPPort.c:546 fails to compile there
(AppVeyor BASE=3.14 vs2019 jobs, error C2065). osiSocklen_t from
osiSock.h is the EPICS-portable spelling and the type the rest of the
tree already uses.
The default (VS2015) and VS2017 worker images resolve python/pip to
Python 2.7, and ci-core-dumper now requires >= 3.8, so every job on
those images dies in the install phase before compiling anything.
Prepend C:\Python38-x64 and invoke pip as "python -m pip" (a bare pip
would still resolve to C:\Python27\Scripts), copying the install
stanza epics-base uses with the same images.
@physwkim physwkim changed the title drvAsynIPPort: use osiSocklen_t for the SO_ERROR length Revive the AppVeyor matrix: osiSocklen_t portability + Python 3 pin Jul 21, 2026
@MarkRivers
MarkRivers merged commit 66bafcd into epics-modules:master Jul 21, 2026
16 of 17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants