Although looking at this again, s_net.h is already using

#include <ws2tcpip.h>

which should be sufficient.

What is your build environment? Windows XP?

On May 28, 2020, at 1:00 PM, Dan Wilcox <danomatika@gmail.com> wrote:

Howdy Miller,

It seems those flags are defined in different headers depending on the Windows version:


I think we just need PP a version check and relevant include at the top of s_net.c and/or s_net.h. Most people testing were using Windows 7+ which is probably why we didn't see this issue before.

On May 28, 2020, at 12:00 PM, pd-dev-request@lists.iem.at wrote:

Message: 2
Date: Wed, 27 May 2020 22:14:44 -0700
From: Miller Puckette <msp@ucsd.edu>
To: pd-dev@iem.at
Subject: [PD-dev] compiler oopses compiling s_net.c on windoze
Message-ID: <20200528051444.GD18346@ucsd.edu>
Content-Type: text/plain; charset=us-ascii

Compiling on Windows using mingw32 I get this:

x86_64-w64-mingw32-gcc -DPACKAGE_NAME=\"pd\" -DPACKAGE_TARNAME=\"pd\" -DPACKAGE_VERSION=\"0.51.0\" -DPACKAGE_STRING=\"pd\ 0.51.0\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"pd\" -DVERSION=\"0.51.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -DHAVE_FCNTL_H=1 -DHAVE_LIMITS_H=1 -DHAVE_MALLOC_H=1 -DHAVE_STDDEF_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_SYS_PARAM_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_SYS_TIMEB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_ALLOCA=1 -Dvfork=fork -DHAVE_STDLIB_H=1 -DHAVE_MALLOC=1 -DHAVE_STDLIB_H=1 -DHAVE_REALLOC=1 -DRETSIGTYPE=void -DHAVE_DUP2=1 -DHAVE_FLOOR=1 -DHAVE_GETCWD=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_MEMMOVE=1 -DHAVE_MEMSET=1 -DHAVE_POW=1 -DHAVE_SQRT=1 -DHAVE_STRCHR=1 -DHAVE_STRERROR=1 -DHAVE_STRRCHR=1 -DHAVE_STRSTR=1 -DHAVE_STRTOL=1 -I.  -I../portaudio/portaudio/include -I../portmidi/portmidi/pm_common -I../portmidi/portmidi/porttime -DWISH=\"wish86.exe\"  -g -O2 -ffast-math -funroll-loops -fomit-frame-pointer -O3 -MT pdsend-s_net.o -MD -MP -MF .deps/pdsend-s_net.Tpo -c -o pdsend-s_net.o `test -f 's_net.c' || echo './'`s_net.c
s_net.c: In function 'addrinfo_get_list':
s_net.c:55:22: error: 'AI_ALL' undeclared (first use in this function); did you mean 'SIF_ALL'?
    hints.ai_flags = AI_ALL |       /* both IPv4 and IPv6 addrs */
                     ^~~~~~
                     SIF_ALL
s_net.c:55:22: note: each undeclared identifier is reported only once for each function it appears in
s_net.c:56:22: error: 'AI_V4MAPPED' undeclared (first use in this function); did you mean 'MIDI_MAPPER'?
                     AI_V4MAPPED |  /* fallback to IPv4-mapped IPv6 addrs */
                     ^~~~~~~~~~~
                     MIDI_MAPPER
make[2]: *** [Makefile:2318: pdsend-s_net.o] Error 1


I'l try to fix this Thursday but if anyone who understands the new networking
code gets there before I do you might do a better job than I can...

thanks
Miller


--------
Dan Wilcox
@danomatika
danomatika.com
robotcowboy.com