<div dir="ltr">Hi -<div><br></div><div>I imagine that this is somehow my mistake, but I am having persistent problems with building PD 0.51.x from git under the latest MSys2/Mingw64 gcc</div><div><br></div><div>    $ gcc --version<br>    gcc (GCC) 10.2.0<br>    Copyright (C) 2020 Free Software Foundation, Inc.<br>    This is free software; see the source for copying conditions.  There is NO<br>    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.<br><br>    $ gcc -dumpmachine<br>    x86_64-pc-msys<br><div><br></div><div>The issues seem to center around various WIN32 compatibility hacks. If I use the usual</div><div><br></div><div>    $ ./autogen.sh</div><div>    $ ./configure</div><div>    $ make clean</div><div>    $ make all</div><div><br></div><div>the build fails while linking pd.exe</div><div><br></div><div>    /usr/lib/gcc/x86_64-pc-msys/10.2.0/../../../../x86_64-pc-msys/bin/ld: pd-s_audio_oss.o: in function `oss_open_audio':<br>    /c/Users/User/git/pure-data/src/s_audio_oss.c:305: undefined reference to `sys_setalarm'<br>    /c/Users/User/git/pure-data/src/s_audio_oss.c:305:(.text+0xee3): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `sys_setalarm'<br>    /usr/lib/gcc/x86_64-pc-msys/10.2.0/../../../../x86_64-pc-msys/bin/ld: /c/Users/User/git/pure-data/src/s_audio_oss.c:394: undefined reference to `sys_setalarm'<br></div><div><br></div><div>    &cet<br><br>interestingly, that build also generates a warning message while compiling s_inter.c (which defines sys_setalarm() under the right set of compiler flags) indicating that _WIN32 is not defined.<br><br>    s_inter.c: In function ‘sys_init_deken’:<br>    s_inter.c:998:4: warning: #warning unknown OS [-Wcpp]<br>      998 | #  warning unknown OS<br><br>So if I instead build with CFLAGS=-D_WIN32, I get a different set of errors while building s_inter.c<br><br>    /usr/include/w32api/psdk_inc/_fd_types.h:100:2: warning: #warning "fd_set and associated macros have been defined in sys/types.      This can cause runtime problems with W32 sockets" [-Wcpp]<br>    /usr/include/w32api/winsock2.h:1025:34: error: conflicting types for ‘select’<br>    s_inter.c:217:52: warning: passing argument 5 of ‘select’ from incompatible pointer type [-Wincompatible-pointer-types]<br>    /usr/include/w32api/winsock2.h:1025:116: note: expected ‘PTIMEVAL’ {aka ‘struct __ms_timeval * const’} but argument is of type ‘struct timeval *’<br>    s_inter.c:490:17: warning: implicit declaration of function ‘write’; did you mean ‘fwrite’? [-Wimplicit-function-declaration]<br>    s_inter.c:1305:20: warning: implicit declaration of function ‘_spawnl’; did you mean ‘spawnl’? [-Wimplicit-function-declaration]<br>    s_inter.c:1305:28: error: ‘P_NOWAIT’ undeclared (first use in this function)<br>    s_inter.c:1493:10: warning: implicit declaration of function ‘_exit’ [-Wimplicit-function-declaration]<br>    s_inter.c:1493:10: warning: incompatible implicit declaration of built-in function ‘_exit’<br><br>Could someone please enlighten me? Or point me to relevant documentation? ig gcc 10.2.0 known to be problematic?<br><br>TIA</div><div>-- <br></div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">GPG Public key at <a href="http://cyber-rush.org/drr/gpg-public-key.txt" target="_blank">http://cyber-rush.org/drr/gpg-public-key.txt</a></div></div></div>