Closed mfurseman closed 1 year ago
Hm...
My MinGW64 build works without the added snippet:
19:01:50: Running steps for project QtC-CAGateway...
19:01:50: Starting: "C:\Users\langer\msys64\mingw64\bin\mingw32-make.exe" -j8 all
C:/Users/langer/msys64/mingw64/bin/mingw32-make.exe -C ./configure install
mingw32-make[1]: Entering directory 'C:/Users/langer/WORKFO~1/Work/EPICS/CAGateway/configure'
perl -CSD C:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/bin/windows-x64-mingw/makeMakefile.pl O.windows-x64-mingw ../..
perl -CSD -MExtUtils::Command -e mkpath O.Common
C:/Users/langer/msys64/mingw64/bin/mingw32-make.exe -C O.windows-x64-mingw -f ../Makefile TOP=../.. \
T_A=windows-x64-mingw install
mingw32-make[2]: Entering directory 'C:/Users/langer/WORKFO~1/Work/EPICS/CAGateway/configure/O.windows-x64-mingw'
perl -CSD C:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/bin/windows-x64-mingw/convertRelease.pl checkRelease
mingw32-make[2]: Leaving directory 'C:/Users/langer/WORKFO~1/Work/EPICS/CAGateway/configure/O.windows-x64-mingw'
mingw32-make[1]: Leaving directory 'C:/Users/langer/WORKFO~1/Work/EPICS/CAGateway/configure'
C:/Users/langer/msys64/mingw64/bin/mingw32-make.exe -C ./src install
mingw32-make[1]: Entering directory 'C:/Users/langer/WORKFO~1/Work/EPICS/CAGateway/src'
perl -CSD C:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/bin/windows-x64-mingw/makeMakefile.pl O.windows-x64-mingw ../..
perl -CSD -MExtUtils::Command -e mkpath O.Common
C:/Users/langer/msys64/mingw64/bin/mingw32-make.exe -C O.windows-x64-mingw -f ../Makefile TOP=../.. \
T_A=windows-x64-mingw install
mingw32-make[2]: Entering directory 'C:/Users/langer/WORKFO~1/Work/EPICS/CAGateway/src/O.windows-x64-mingw'
g++ -D_MINGW -D__USE_MINGW_ANSI_STDIO -O3 -Wall -DSTAT_PVS -DRATE_STATS -DCONTROL_PVS -DCAS_DIAGNOSTICS -DHANDLE_EXCEPTIONS -DUSE_DENYFROM -DUSE_PCRE -m64 -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -I. -I../O.Common -I. -I. -I.. -I../../include/compiler/gcc -I../../include/os/WIN32 -I../../include -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include/compiler/gcc -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include/os/WIN32 -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include -IC:/Users/langer/WORKFO~1/Work/EPICS/pcas/include -IC:/Users/langer/msys64/usr/include -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/src/cas/generic -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/src/ca/legacy/pcas/generic -MM -MF gateDbFld.d -MT gateDbFld.obj ../gateDbFld.cc
g++ -D_MINGW -D__USE_MINGW_ANSI_STDIO -O3 -Wall -DSTAT_PVS -DRATE_STATS -DCONTROL_PVS -DCAS_DIAGNOSTICS -DHANDLE_EXCEPTIONS -DUSE_DENYFROM -DUSE_PCRE -m64 -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -I. -I../O.Common -I. -I. -I.. -I../../include/compiler/gcc -I../../include/os/WIN32 -I../../include -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include/compiler/gcc -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include/os/WIN32 -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include -IC:/Users/langer/WORKFO~1/Work/EPICS/pcas/include -IC:/Users/langer/msys64/usr/include -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/src/cas/generic -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/src/ca/legacy/pcas/generic -MM -MF gateStat.d -MT gateStat.obj ../gateStat.cc
g++ -D_MINGW -D__USE_MINGW_ANSI_STDIO -O3 -Wall -DSTAT_PVS -DRATE_STATS -DCONTROL_PVS -DCAS_DIAGNOSTICS -DHANDLE_EXCEPTIONS -DUSE_DENYFROM -DUSE_PCRE -m64 -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -I. -I../O.Common -I. -I. -I.. -I../../include/compiler/gcc -I../../include/os/WIN32 -I../../include -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include/compiler/gcc -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include/os/WIN32 -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include -IC:/Users/langer/WORKFO~1/Work/EPICS/pcas/include -IC:/Users/langer/msys64/usr/include -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/src/cas/generic -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/src/ca/legacy/pcas/generic -MM -MF gateAsCa.d -MT gateAsCa.obj ../gateAsCa.cc
g++ -D_MINGW -D__USE_MINGW_ANSI_STDIO -O3 -Wall -DSTAT_PVS -DRATE_STATS -DCONTROL_PVS -DCAS_DIAGNOSTICS -DHANDLE_EXCEPTIONS -DUSE_DENYFROM -DUSE_PCRE -m64 -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -I. -I../O.Common -I. -I. -I.. -I../../include/compiler/gcc -I../../include/os/WIN32 -I../../include -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include/compiler/gcc -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include/os/WIN32 -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include -IC:/Users/langer/WORKFO~1/Work/EPICS/pcas/include -IC:/Users/langer/msys64/usr/include -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/src/cas/generic -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/src/ca/legacy/pcas/generic -MM -MF gateVc.d -MT gateVc.obj ../gateVc.cc
g++ -D_MINGW -D__USE_MINGW_ANSI_STDIO -O3 -Wall -DSTAT_PVS -DRATE_STATS -DCONTROL_PVS -DCAS_DIAGNOSTICS -DHANDLE_EXCEPTIONS -DUSE_DENYFROM -DUSE_PCRE -m64 -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -I. -I../O.Common -I. -I. -I.. -I../../include/compiler/gcc -I../../include/os/WIN32 -I../../include -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include/compiler/gcc -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include/os/WIN32 -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include -IC:/Users/langer/WORKFO~1/Work/EPICS/pcas/include -IC:/Users/langer/msys64/usr/include -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/src/cas/generic -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/src/ca/legacy/pcas/generic -MM -MF gateAsyncIO.d -MT gateAsyncIO.obj ../gateAsyncIO.cc
g++ -D_MINGW -D__USE_MINGW_ANSI_STDIO -O3 -Wall -DSTAT_PVS -DRATE_STATS -DCONTROL_PVS -DCAS_DIAGNOSTICS -DHANDLE_EXCEPTIONS -DUSE_DENYFROM -DUSE_PCRE -m64 -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -I. -I../O.Common -I. -I. -I.. -I../../include/compiler/gcc -I../../include/os/WIN32 -I../../include -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include/compiler/gcc -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include/os/WIN32 -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include -IC:/Users/langer/WORKFO~1/Work/EPICS/pcas/include -IC:/Users/langer/msys64/usr/include -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/src/cas/generic -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/src/ca/legacy/pcas/generic -MM -MF gateResources.d -MT gateResources.obj ../gateResources.cc
g++ -D_MINGW -D__USE_MINGW_ANSI_STDIO -O3 -Wall -DSTAT_PVS -DRATE_STATS -DCONTROL_PVS -DCAS_DIAGNOSTICS -DHANDLE_EXCEPTIONS -DUSE_DENYFROM -DUSE_PCRE -m64 -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -I. -I../O.Common -I. -I. -I.. -I../../include/compiler/gcc -I../../include/os/WIN32 -I../../include -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include/compiler/gcc -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include/os/WIN32 -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include -IC:/Users/langer/WORKFO~1/Work/EPICS/pcas/include -IC:/Users/langer/msys64/usr/include -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/src/cas/generic -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/src/ca/legacy/pcas/generic -MM -MF gateAs.d -MT gateAs.obj ../gateAs.cc
g++ -D_MINGW -D__USE_MINGW_ANSI_STDIO -O3 -Wall -DSTAT_PVS -DRATE_STATS -DCONTROL_PVS -DCAS_DIAGNOSTICS -DHANDLE_EXCEPTIONS -DUSE_DENYFROM -DUSE_PCRE -m64 -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -I. -I../O.Common -I. -I. -I.. -I../../include/compiler/gcc -I../../include/os/WIN32 -I../../include -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include/compiler/gcc -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include/os/WIN32 -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include -IC:/Users/langer/WORKFO~1/Work/EPICS/pcas/include -IC:/Users/langer/msys64/usr/include -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/src/cas/generic -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/src/ca/legacy/pcas/generic -MM -MF gateServer.d -MT gateServer.obj ../gateServer.cc
g++ -D_MINGW -D__USE_MINGW_ANSI_STDIO -O3 -Wall -DSTAT_PVS -DRATE_STATS -DCONTROL_PVS -DCAS_DIAGNOSTICS -DHANDLE_EXCEPTIONS -DUSE_DENYFROM -DUSE_PCRE -m64 -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -I. -I../O.Common -I. -I. -I.. -I../../include/compiler/gcc -I../../include/os/WIN32 -I../../include -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include/compiler/gcc -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include/os/WIN32 -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include -IC:/Users/langer/WORKFO~1/Work/EPICS/pcas/include -IC:/Users/langer/msys64/usr/include -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/src/cas/generic -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/src/ca/legacy/pcas/generic -MM -MF gatePv.d -MT gatePv.obj ../gatePv.cc
g++ -D_MINGW -D__USE_MINGW_ANSI_STDIO -O3 -Wall -DSTAT_PVS -DRATE_STATS -DCONTROL_PVS -DCAS_DIAGNOSTICS -DHANDLE_EXCEPTIONS -DUSE_DENYFROM -DUSE_PCRE -m64 -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -I. -I../O.Common -I. -I. -I.. -I../../include/compiler/gcc -I../../include/os/WIN32 -I../../include -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include/compiler/gcc -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include/os/WIN32 -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include -IC:/Users/langer/WORKFO~1/Work/EPICS/pcas/include -IC:/Users/langer/msys64/usr/include -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/src/cas/generic -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/src/ca/legacy/pcas/generic -MM -MF gateway.d -MT gateway.obj ../gateway.cc
g++ -D_MINGW -D__USE_MINGW_ANSI_STDIO -O3 -Wall -DSTAT_PVS -DRATE_STATS -DCONTROL_PVS -DCAS_DIAGNOSTICS -DHANDLE_EXCEPTIONS -DUSE_DENYFROM -DUSE_PCRE -m64 -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -I. -I../O.Common -I. -I. -I.. -I../../include/compiler/gcc -I../../include/os/WIN32 -I../../include -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include/compiler/gcc -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include/os/WIN32 -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include -IC:/Users/langer/WORKFO~1/Work/EPICS/pcas/include -IC:/Users/langer/msys64/usr/include -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/src/cas/generic -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/src/ca/legacy/pcas/generic -o gateway.obj -c ../gateway.cc
g++ -D_MINGW -D__USE_MINGW_ANSI_STDIO -O3 -Wall -DSTAT_PVS -DRATE_STATS -DCONTROL_PVS -DCAS_DIAGNOSTICS -DHANDLE_EXCEPTIONS -DUSE_DENYFROM -DUSE_PCRE -m64 -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -I. -I../O.Common -I. -I. -I.. -I../../include/compiler/gcc -I../../include/os/WIN32 -I../../include -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include/compiler/gcc -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include/os/WIN32 -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include -IC:/Users/langer/WORKFO~1/Work/EPICS/pcas/include -IC:/Users/langer/msys64/usr/include -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/src/cas/generic -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/src/ca/legacy/pcas/generic -o gatePv.obj -c ../gatePv.cc
g++ -D_MINGW -D__USE_MINGW_ANSI_STDIO -O3 -Wall -DSTAT_PVS -DRATE_STATS -DCONTROL_PVS -DCAS_DIAGNOSTICS -DHANDLE_EXCEPTIONS -DUSE_DENYFROM -DUSE_PCRE -m64 -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -I. -I../O.Common -I. -I. -I.. -I../../include/compiler/gcc -I../../include/os/WIN32 -I../../include -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include/compiler/gcc -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include/os/WIN32 -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include -IC:/Users/langer/WORKFO~1/Work/EPICS/pcas/include -IC:/Users/langer/msys64/usr/include -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/src/cas/generic -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/src/ca/legacy/pcas/generic -o gateResources.obj -c ../gateResources.cc
g++ -D_MINGW -D__USE_MINGW_ANSI_STDIO -O3 -Wall -DSTAT_PVS -DRATE_STATS -DCONTROL_PVS -DCAS_DIAGNOSTICS -DHANDLE_EXCEPTIONS -DUSE_DENYFROM -DUSE_PCRE -m64 -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -I. -I../O.Common -I. -I. -I.. -I../../include/compiler/gcc -I../../include/os/WIN32 -I../../include -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include/compiler/gcc -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include/os/WIN32 -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include -IC:/Users/langer/WORKFO~1/Work/EPICS/pcas/include -IC:/Users/langer/msys64/usr/include -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/src/cas/generic -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/src/ca/legacy/pcas/generic -o gateServer.obj -c ../gateServer.cc
g++ -D_MINGW -D__USE_MINGW_ANSI_STDIO -O3 -Wall -DSTAT_PVS -DRATE_STATS -DCONTROL_PVS -DCAS_DIAGNOSTICS -DHANDLE_EXCEPTIONS -DUSE_DENYFROM -DUSE_PCRE -m64 -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -I. -I../O.Common -I. -I. -I.. -I../../include/compiler/gcc -I../../include/os/WIN32 -I../../include -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include/compiler/gcc -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include/os/WIN32 -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include -IC:/Users/langer/WORKFO~1/Work/EPICS/pcas/include -IC:/Users/langer/msys64/usr/include -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/src/cas/generic -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/src/ca/legacy/pcas/generic -o gateAs.obj -c ../gateAs.cc
g++ -D_MINGW -D__USE_MINGW_ANSI_STDIO -O3 -Wall -DSTAT_PVS -DRATE_STATS -DCONTROL_PVS -DCAS_DIAGNOSTICS -DHANDLE_EXCEPTIONS -DUSE_DENYFROM -DUSE_PCRE -m64 -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -I. -I../O.Common -I. -I. -I.. -I../../include/compiler/gcc -I../../include/os/WIN32 -I../../include -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include/compiler/gcc -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include/os/WIN32 -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include -IC:/Users/langer/WORKFO~1/Work/EPICS/pcas/include -IC:/Users/langer/msys64/usr/include -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/src/cas/generic -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/src/ca/legacy/pcas/generic -o gateVc.obj -c ../gateVc.cc
g++ -D_MINGW -D__USE_MINGW_ANSI_STDIO -O3 -Wall -DSTAT_PVS -DRATE_STATS -DCONTROL_PVS -DCAS_DIAGNOSTICS -DHANDLE_EXCEPTIONS -DUSE_DENYFROM -DUSE_PCRE -m64 -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -I. -I../O.Common -I. -I. -I.. -I../../include/compiler/gcc -I../../include/os/WIN32 -I../../include -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include/compiler/gcc -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include/os/WIN32 -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include -IC:/Users/langer/WORKFO~1/Work/EPICS/pcas/include -IC:/Users/langer/msys64/usr/include -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/src/cas/generic -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/src/ca/legacy/pcas/generic -o gateAsyncIO.obj -c ../gateAsyncIO.cc
g++ -D_MINGW -D__USE_MINGW_ANSI_STDIO -O3 -Wall -DSTAT_PVS -DRATE_STATS -DCONTROL_PVS -DCAS_DIAGNOSTICS -DHANDLE_EXCEPTIONS -DUSE_DENYFROM -DUSE_PCRE -m64 -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -I. -I../O.Common -I. -I. -I.. -I../../include/compiler/gcc -I../../include/os/WIN32 -I../../include -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include/compiler/gcc -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include/os/WIN32 -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include -IC:/Users/langer/WORKFO~1/Work/EPICS/pcas/include -IC:/Users/langer/msys64/usr/include -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/src/cas/generic -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/src/ca/legacy/pcas/generic -o gateAsCa.obj -c ../gateAsCa.cc
../gateResources.cc:27: warning: "F_OK" redefined
27 | # define F_OK 00
|
In file included from C:/Users/langer/msys64/mingw64/include/sys/stat.h:14,
from ../gateResources.cc:22:
C:/Users/langer/msys64/mingw64/include/io.h:182: note: this is the location of the previous definition
182 | #define F_OK 0 /* Check for file existence */
|
../gateResources.cc:28: warning: "W_OK" redefined
28 | # define W_OK 02
|
C:/Users/langer/msys64/mingw64/include/io.h:184: note: this is the location of the previous definition
184 | #define W_OK 2 /* Check for write permission */
|
../gateResources.cc:29: warning: "R_OK" redefined
29 | # define R_OK 04
|
C:/Users/langer/msys64/mingw64/include/io.h:185: note: this is the location of the previous definition
185 | #define R_OK 4 /* Check for read permission */
|
In file included from C:/Users/langer/WORKFO~1/Work/EPICS/pcas/include/gdd.h:511,
from ../gateway.cc:56:
C:/Users/langer/WORKFO~1/Work/EPICS/pcas/include/gddI.h: In member function 'gdd& gdd::operator=(const gdd&)':
C:/Users/langer/WORKFO~1/Work/EPICS/pcas/include/gddI.h:117:17: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'class gdd' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
117 | { memcpy(this,&v,sizeof(gdd)); return *this; }
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~
C:/Users/langer/WORKFO~1/Work/EPICS/pcas/include/gdd.h:96:23: note: 'class gdd' declared here
96 | class epicsShareClass gdd
| ^~~
In file included from C:/Users/langer/WORKFO~1/Work/EPICS/pcas/include/gdd.h:511,
from ../gateServer.cc:98:
C:/Users/langer/WORKFO~1/Work/EPICS/pcas/include/gddI.h: In member function 'gdd& gdd::operator=(const gdd&)':
C:/Users/langer/WORKFO~1/Work/EPICS/pcas/include/gddI.h:117:17: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'class gdd' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
117 | { memcpy(this,&v,sizeof(gdd)); return *this; }
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~
C:/Users/langer/WORKFO~1/Work/EPICS/pcas/include/gdd.h:96:23: note: 'class gdd' declared here
96 | class epicsShareClass gdd
| ^~~
In file included from C:/Users/langer/WORKFO~1/Work/EPICS/pcas/include/gdd.h:511,
from ../gatePv.cc:61:
C:/Users/langer/WORKFO~1/Work/EPICS/pcas/include/gddI.h: In member function 'gdd& gdd::operator=(const gdd&)':
C:/Users/langer/WORKFO~1/Work/EPICS/pcas/include/gddI.h:117:17: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'class gdd' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
117 | { memcpy(this,&v,sizeof(gdd)); return *this; }
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~
C:/Users/langer/WORKFO~1/Work/EPICS/pcas/include/gdd.h:96:23: note: 'class gdd' declared here
96 | class epicsShareClass gdd
| ^~~
In file included from C:/Users/langer/WORKFO~1/Work/EPICS/pcas/include/gdd.h:511,
from ../gateVc.cc:51:
C:/Users/langer/WORKFO~1/Work/EPICS/pcas/include/gddI.h: In member function 'gdd& gdd::operator=(const gdd&)':
C:/Users/langer/WORKFO~1/Work/EPICS/pcas/include/gddI.h:117:17: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'class gdd' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
117 | { memcpy(this,&v,sizeof(gdd)); return *this; }
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~
C:/Users/langer/WORKFO~1/Work/EPICS/pcas/include/gdd.h:96:23: note: 'class gdd' declared here
96 | class epicsShareClass gdd
| ^~~
In file included from C:/Users/langer/WORKFO~1/Work/EPICS/pcas/include/gdd.h:511,
from ../gateResources.h:49,
from ../gateResources.cc:40:
C:/Users/langer/WORKFO~1/Work/EPICS/pcas/include/gddI.h: In member function 'gdd& gdd::operator=(const gdd&)':
C:/Users/langer/WORKFO~1/Work/EPICS/pcas/include/gddI.h:117:17: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'class gdd' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
117 | { memcpy(this,&v,sizeof(gdd)); return *this; }
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~
C:/Users/langer/WORKFO~1/Work/EPICS/pcas/include/gdd.h:96:23: note: 'class gdd' declared here
96 | class epicsShareClass gdd
| ^~~
In file included from C:/Users/langer/WORKFO~1/Work/EPICS/pcas/include/gdd.h:511,
from ../gateResources.h:49,
from ../gateAs.cc:48:
C:/Users/langer/WORKFO~1/Work/EPICS/pcas/include/gddI.h: In member function 'gdd& gdd::operator=(const gdd&)':
C:/Users/langer/WORKFO~1/Work/EPICS/pcas/include/gddI.h:117:17: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'class gdd' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
117 | { memcpy(this,&v,sizeof(gdd)); return *this; }
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~
C:/Users/langer/WORKFO~1/Work/EPICS/pcas/include/gdd.h:96:23: note: 'class gdd' declared here
96 | class epicsShareClass gdd
| ^~~
In file included from C:/Users/langer/WORKFO~1/Work/EPICS/pcas/include/gdd.h:511,
from ../gateResources.h:49,
from ../gateAsCa.cc:17:
C:/Users/langer/WORKFO~1/Work/EPICS/pcas/include/gddI.h: In member function 'gdd& gdd::operator=(const gdd&)':
C:/Users/langer/WORKFO~1/Work/EPICS/pcas/include/gddI.h:117:17: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'class gdd' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
117 | { memcpy(this,&v,sizeof(gdd)); return *this; }
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~
C:/Users/langer/WORKFO~1/Work/EPICS/pcas/include/gdd.h:96:23: note: 'class gdd' declared here
96 | class epicsShareClass gdd
| ^~~
In file included from C:/Users/langer/WORKFO~1/Work/EPICS/pcas/include/gdd.h:511,
from ../gateResources.h:49,
from ../gateAsyncIO.cc:24:
C:/Users/langer/WORKFO~1/Work/EPICS/pcas/include/gddI.h: In member function 'gdd& gdd::operator=(const gdd&)':
C:/Users/langer/WORKFO~1/Work/EPICS/pcas/include/gddI.h:117:17: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'class gdd' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
117 | { memcpy(this,&v,sizeof(gdd)); return *this; }
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~
C:/Users/langer/WORKFO~1/Work/EPICS/pcas/include/gdd.h:96:23: note: 'class gdd' declared here
96 | class epicsShareClass gdd
| ^~~
../gateway.cc: In function 'int main(int, char**)':
../gateway.cc:1106:42: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'time_t' {aka 'long long int'} [-Wformat=]
1106 | fprintf(stderr,"\tdead=%ld\n",gr->deadTimeout());
| ~~^ ~~~~~~~~~~~~~~~~~
| | |
| long int time_t {aka long long int}
| %lld
../gateway.cc:1107:45: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'time_t' {aka 'long long int'} [-Wformat=]
1107 | fprintf(stderr,"\tconnect=%ld\n",gr->connectTimeout());
| ~~^ ~~~~~~~~~~~~~~~~~~~~
| | |
| long int time_t {aka long long int}
| %lld
../gateway.cc:1108:48: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'time_t' {aka 'long long int'} [-Wformat=]
1108 | fprintf(stderr,"\tdisconnect=%ld\n",gr->disconnectTimeout());
| ~~^ ~~~~~~~~~~~~~~~~~~~~~~~
| | |
| long int time_t {aka long long int}
| %lld
../gateway.cc:1109:47: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'time_t' {aka 'long long int'} [-Wformat=]
1109 | fprintf(stderr,"\treconnect=%ld\n",gr->reconnectInhibit());
| ~~^ ~~~~~~~~~~~~~~~~~~~~~~
| | |
| long int time_t {aka long long int}
| %lld
../gateway.cc:1110:46: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'time_t' {aka 'long long int'} [-Wformat=]
1110 | fprintf(stderr,"\tinactive=%ld\n",gr->inactiveTimeout());
| ~~^ ~~~~~~~~~~~~~~~~~~~~~
| | |
| long int time_t {aka long long int}
| %lld
../gateway.cc:1314:54: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'time_t' {aka 'long long int'} [-Wformat=]
1314 | fprintf(stderr," connect timeout = %ld\n",gr->connectTimeout());
| ~~^ ~~~~~~~~~~~~~~~~~~~~
| | |
| long int time_t {aka long long int}
| %lld
../gateway.cc:1315:57: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'time_t' {aka 'long long int'} [-Wformat=]
1315 | fprintf(stderr," disconnect timeout = %ld\n",gr->disconnectTimeout());
| ~~^ ~~~~~~~~~~~~~~~~~~~~~~~
| | |
| long int time_t {aka long long int}
| %lld
../gateway.cc:1316:61: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'time_t' {aka 'long long int'} [-Wformat=]
1316 | fprintf(stderr," reconnect inhibit time = %ld\n",gr->reconnectInhibit());
| ~~^ ~~~~~~~~~~~~~~~~~~~~~~
| | |
| long int time_t {aka long long int}
| %lld
../gateway.cc:1317:55: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'time_t' {aka 'long long int'} [-Wformat=]
1317 | fprintf(stderr," inactive timeout = %ld\n",gr->inactiveTimeout());
| ~~^ ~~~~~~~~~~~~~~~~~~~~~
| | |
| long int time_t {aka long long int}
| %lld
../gateway.cc:1318:51: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'time_t' {aka 'long long int'} [-Wformat=]
1318 | fprintf(stderr," dead timeout = %ld\n",gr->deadTimeout());
| ~~^ ~~~~~~~~~~~~~~~~~
| | |
| long int time_t {aka long long int}
| %lld
../gateway.cc: In function 'int setEnv(const char*, int, char**)':
../gateway.cc:1609:27: warning: comparing the result of pointer addition '(pVal + 1)' and NULL [-Waddress]
1609 | if(!pVal || !(pVal+1)) {
| ~~~~~^~~
../gatePv.cc: In member function 'int gatePvData::get(readType)':
../gatePv.cc:965:69: warning: format '%lu' expects argument of type 'long unsigned int', but argument 5 has type 'long long unsigned int' [-Wformat=]
965 | "Set EPICS_CA_MAX_ARRAY_BYTES to at least %lu\n",
| ~~^
| |
| long unsigned int
| %llu
966 | timeStamp(),name()?name():"Unknown",
967 | (unsigned long) bytes*totalElements() + sizeof(caHdr) + 2*sizeof(ca_uint32_t));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| long long unsigned int
../gatePv.cc:990:69: warning: format '%lu' expects argument of type 'long unsigned int', but argument 5 has type 'long long unsigned int' [-Wformat=]
990 | "Set EPICS_CA_MAX_ARRAY_BYTES to at least %lu\n",
| ~~^
| |
| long unsigned int
| %llu
991 | timeStamp(),name()?name():"Unknown",
992 | (unsigned long) bytes*totalElements() + sizeof(caHdr) + 2*sizeof(ca_uint32_t));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| long long unsigned int
../gateAs.cc: In member function 'int gateAs::readPvList(const char*)':
../gateAs.cc:458:24: warning: 'char* strncpy(char*, const char*, size_t)' output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
458 | strncpy(tempInbuf,inbuf,strlen(inbuf));
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../gateAs.cc:519:32: warning: 'char* strncpy(char*, const char*, size_t)' output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
519 | strncpy(inbufWithIPs,tempInbuf,strlen(tempInbuf));
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../gateAs.cc:498:56: warning: 'char* strncpy(char*, const char*, size_t)' output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
498 | strncpy(pIPInput,hostname,strlen(hostname));
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../gateAs.cc:513:40: warning: 'char* strncpy(char*, const char*, size_t)' output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
513 | strncpy(inbufWithIPs,tempInbuf,strlen(tempInbuf));
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
g++ -D_MINGW -D__USE_MINGW_ANSI_STDIO -O3 -Wall -DSTAT_PVS -DRATE_STATS -DCONTROL_PVS -DCAS_DIAGNOSTICS -DHANDLE_EXCEPTIONS -DUSE_DENYFROM -DUSE_PCRE -m64 -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -I. -I../O.Common -I. -I. -I.. -I../../include/compiler/gcc -I../../include/os/WIN32 -I../../include -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include/compiler/gcc -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include/os/WIN32 -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include -IC:/Users/langer/WORKFO~1/Work/EPICS/pcas/include -IC:/Users/langer/msys64/usr/include -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/src/cas/generic -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/src/ca/legacy/pcas/generic -o gateStat.obj -c ../gateStat.cc
g++ -D_MINGW -D__USE_MINGW_ANSI_STDIO -O3 -Wall -DSTAT_PVS -DRATE_STATS -DCONTROL_PVS -DCAS_DIAGNOSTICS -DHANDLE_EXCEPTIONS -DUSE_DENYFROM -DUSE_PCRE -m64 -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -I. -I../O.Common -I. -I. -I.. -I../../include/compiler/gcc -I../../include/os/WIN32 -I../../include -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include/compiler/gcc -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include/os/WIN32 -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/include -IC:/Users/langer/WORKFO~1/Work/EPICS/pcas/include -IC:/Users/langer/msys64/usr/include -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/src/cas/generic -IC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/src/ca/legacy/pcas/generic -o gateDbFld.obj -c ../gateDbFld.cc
../gateway.cc: At global scope:
../gateway.cc:67:12: warning: 'int manage_gateway()' declared 'static' but never defined [-Wunused-function]
67 | static int manage_gateway(void);
| ^~~~~~~~~~~~~~
../gateway.cc:254:17: warning: 'save_chld' defined but not used [-Wunused-variable]
254 | static SIG_FUNC save_chld = NULL;
| ^~~~~~~~~
../gateway.cc:251:17: warning: 'save_bus' defined but not used [-Wunused-variable]
251 | static SIG_FUNC save_bus = NULL;
| ^~~~~~~~
../gateway.cc:248:17: warning: 'save_hup' defined but not used [-Wunused-variable]
248 | static SIG_FUNC save_hup = NULL;
| ^~~~~~~~
../gateway.cc:78:15: warning: 'startTime' defined but not used [-Wunused-variable]
78 | static time_t startTime[NRESTARTS];
| ^~~~~~~~~
../gateway.cc:77:12: warning: 'nStart' defined but not used [-Wunused-variable]
77 | static int nStart=0;
| ^~~~~~
../gateway.cc:76:12: warning: 'death_flag' defined but not used [-Wunused-variable]
76 | static int death_flag=0;
| ^~~~~~~~~~
In file included from C:/Users/langer/WORKFO~1/Work/EPICS/pcas/include/gdd.h:511,
from ../gateStat.cc:33:
C:/Users/langer/WORKFO~1/Work/EPICS/pcas/include/gddI.h: In member function 'gdd& gdd::operator=(const gdd&)':
C:/Users/langer/WORKFO~1/Work/EPICS/pcas/include/gddI.h:117:17: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'class gdd' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
117 | { memcpy(this,&v,sizeof(gdd)); return *this; }
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~
C:/Users/langer/WORKFO~1/Work/EPICS/pcas/include/gdd.h:96:23: note: 'class gdd' declared here
96 | class epicsShareClass gdd
| ^~~
g++ -o gateway.exe -LC:/Users/langer/WORKFO~1/Work/EPICS/CAGateway/lib/windows-x64-mingw -LC:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/lib/windows-x64-mingw -LC:/Users/langer/WORKFO~1/Work/EPICS/pcas/lib/windows-x64-mingw -LC:/Users/langer/msys64/usr/lib -m64 gateway.obj gatePv.obj gateResources.obj gateServer.obj gateAs.obj gateVc.obj gateAsyncIO.obj gateAsCa.obj gateStat.obj gateDbFld.obj -lpcre -lcas -lgdd -lca -lCom -lnetapi32
"Installing created executable ../../bin/windows-x64-mingw/gateway.exe"
mkdir ../../bin
mkdir ../../bin/windows-x64-mingw
mingw32-make[2]: Leaving directory 'C:/Users/langer/WORKFO~1/Work/EPICS/CAGateway/src/O.windows-x64-mingw'
mingw32-make[1]: Leaving directory 'C:/Users/langer/WORKFO~1/Work/EPICS/CAGateway/src'
C:/Users/langer/msys64/mingw64/bin/mingw32-make.exe -C ./testTop install
mingw32-make[1]: Entering directory 'C:/Users/langer/WORKFO~1/Work/EPICS/CAGateway/testTop'
C:/Users/langer/msys64/mingw64/bin/mingw32-make.exe -C ./configure install
mingw32-make[2]: Entering directory 'C:/Users/langer/WORKFO~1/Work/EPICS/CAGateway/testTop/configure'
perl -CSD C:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/bin/windows-x64-mingw/makeMakefile.pl O.windows-x64-mingw ../..
perl -CSD -MExtUtils::Command -e mkpath O.Common
C:/Users/langer/msys64/mingw64/bin/mingw32-make.exe -C O.windows-x64-mingw -f ../Makefile TOP=../.. \
T_A=windows-x64-mingw install
mingw32-make[3]: Entering directory 'C:/Users/langer/WORKFO~1/Work/EPICS/CAGateway/testTop/configure/O.windows-x64-mingw'
perl -CSD C:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/bin/windows-x64-mingw/convertRelease.pl checkRelease
mingw32-make[3]: Leaving directory 'C:/Users/langer/WORKFO~1/Work/EPICS/CAGateway/testTop/configure/O.windows-x64-mingw'
mingw32-make[2]: Leaving directory 'C:/Users/langer/WORKFO~1/Work/EPICS/CAGateway/testTop/configure'
C:/Users/langer/msys64/mingw64/bin/mingw32-make.exe -C ./pyTestsApp install
mingw32-make[2]: Entering directory 'C:/Users/langer/WORKFO~1/Work/EPICS/CAGateway/testTop/pyTestsApp'
perl -CSD C:/Users/langer/WORKFO~1/Work/EPICS/base/7.0/bin/windows-x64-mingw/makeMakefile.pl O.windows-x64-mingw ../..
perl -CSD -MExtUtils::Command -e mkpath O.Common
C:/Users/langer/msys64/mingw64/bin/mingw32-make.exe -C O.windows-x64-mingw -f ../Makefile TOP=../.. \
T_A=windows-x64-mingw install
mingw32-make[3]: Entering directory 'C:/Users/langer/WORKFO~1/Work/EPICS/CAGateway/testTop/pyTestsApp/O.windows-x64-mingw'
"Copying test files test.db access.txt"
"Copying ../pvlist_pcre.txt to pvlist.txt (USE_PCRE: YES)"
mingw32-make[3]: Leaving directory 'C:/Users/langer/WORKFO~1/Work/EPICS/CAGateway/testTop/pyTestsApp/O.windows-x64-mingw'
mingw32-make[2]: Leaving directory 'C:/Users/langer/WORKFO~1/Work/EPICS/CAGateway/testTop/pyTestsApp'
mingw32-make[1]: Leaving directory 'C:/Users/langer/WORKFO~1/Work/EPICS/CAGateway/testTop'
19:02:02: The process "C:\Users\langer\msys64\mingw64\bin\mingw32-make.exe" exited normally.
19:02:02: Elapsed time: 00:12.
Compiling against master branches of EPICS Base 7.0 and PCAS.
Setup: MSYS2/MinGW64, up-to-date.
Regex support: MSYS2 package of PCRE (pcre-devel), needs a bit of tuning in the src/Makefile
.
$ g++ -v
Using built-in specs.
COLLECT_GCC=C:\Users\langer\msys64\mingw64\bin\g++.exe
COLLECT_LTO_WRAPPER=C:/Users/langer/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.1.0/lto-wrapper.exe
Target: x86_64-w64-mingw32
Configured with: ../gcc-12.1.0/configure --prefix=/mingw64 --with-local-prefix=/mingw64/local --build=x86_64-w64-mingw32 --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --with-native-system-header-dir=/mingw64/include --libexecdir=/mingw64/lib --enable-bootstrap --enable-checking=release --with-arch=x86-64 --with-tune=generic --enable-languages=c,lto,c++,fortran,ada,objc,obj-c++,jit --enable-shared --enable-static --enable-libatomic --enable-threads=posix --enable-graphite --enable-fully-dynamic-string --enable-libstdcxx-filesystem-ts --enable-libstdcxx-time --disable-libstdcxx-pch --enable-lto --enable-libgomp --disable-multilib --disable-rpath --disable-win32-registry --disable-nls --disable-werror --disable-symvers --with-libiconv --with-system-zlib --with-gmp=/mingw64 --with-mpfr=/mingw64 --with-mpc=/mingw64 --with-isl=/mingw64 --with-pkgversion='Rev1, Built by MSYS2 project' --with-bugurl=https://github.com/msys2/MINGW-packages/issues --with-gnu-as --with-gnu-ld --disable-libstdcxx-debug --with-boot-ldflags=-static-libstdc++ --with-stage1-ldflags=-static-libstdc++
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 12.1.0 (Rev1, Built by MSYS2 project)
What is different in your build?
Since I've been learning about _WIN32_WINNT
recently for https://github.com/epics-base/epics-base/pull/240
mingw-w64 defaults _WIN32_WINNT
to _WIN32_WINNT_WS03
aka. 0x0502
, and has for a least a decade. At least when included through through windows.h
as I understand the control flow.
Also, if _WIN32_WINNT
is set, then it is unnecessary (and perhaps undesirable) to set WINVER
as well.
And finally, there are some users/sites who set _WIN32_WINNT
externally. So some #ifndef _WIN32_WINNT
seems appropriate to avoid some (more) compiler warnings.
@FreddieAkeroyd fyi.
Taking ALL_PROCESSOR_GROUPS
as an example. There are two definitions circa mingw-w64 8.0.0.
$ grep -R ALL_PROCESSOR_GROUPS /usr/x86_64-w64-mingw32/include
/usr/x86_64-w64-mingw32/include/ntdef.h:#define ALL_PROCESSOR_GROUPS 0xffff
/usr/x86_64-w64-mingw32/include/winnt.h:#define ALL_PROCESSOR_GROUPS 0xffff
One definition in winnt.h
is gated to _WIN32_WINNT >= 0x0601
(aka. _WIN32_WINNT_WIN7
). The other in ntdef.h
is not gated, but perhaps this is implied.
GetMaximumProcessorCount / GetActiveProcessorCount were added in WIN7 so shouldn't be available before then, ALL_PROCESSOR_GROUPS is probably the same. With the default _WIN32_WINNT
on mingw i would have expected the gateway to fail to compile. @ralphlange what is your _WIN32_WINNT
getting set to on MinGW?
GetMaximumProcessorCount / GetActiveProcessorCount are protected for >= win7 https://github.com/mirror/mingw-w64/blob/2d9c070c72043f2b1138de653befdf3fce49f230/mingw-w64-headers/include/winbase.h#L2917
I would be cautious about setting WINVER and _WIN32_WINNT to different things. As @mdavidsaver suggests just defining _WIN32_WINNT and protecting that define is best. The gateway doesn't look to explicitly include windows.h
so it must be coming in indirectly via one of the epics includes
Thanks for all the comments, it's nice to see how mingw is handling these things!
it sounds like the conclusion is that ca-gateway should conditionally define _WIN32_WINNT
to _WIN32_WINNT_WIN7
at some point before the indirect inclusion of windows.h
? Or do you think it would be better to set this externally?
This depends on what the gateway plans its minimum supported windows version to be. If it plans to support XP or higher, then it shouldn't redefine _WIN32_WINNT itself as windows7 and it would need to check _WIN32_WINNT to see if it needs to add an alternative function. In this case there would need to be a mechanism for the user to specify they were targetting windows 7 or above to get access to the additional functionality, either by adding/changing a -D compiler flag or editing something like a targetver.h
header. Rather than checking _WIN32_WINNT the gateway code could instead use run time dynamic linking to see if the new function exists and then adjust accordingly https://docs.microsoft.com/en-us/windows/win32/dlls/using-run-time-dynamic-linking
With Windows not being a main target platform for the Gateway and - more importantly - production Gateway instances running on server-type machines rather than workstations, I would have no issue targeting Win7 and up. If that makes things easier.
So maybe
#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x0601
#endif
#if _WIN32_WINNT < 0x0601
#error Only windows 7 and above supported
#endif
... include files that bring in windows.h etc.
@mfurseman: Would that change (instead of your original proposal) work for you?
@ralphlange I think so, it sounds like the 'proper' way to do what I had hacked together!
@mfurseman: Can you check https://github.com/ralphlange/ca-gateway/tree/windows-fixes to see if that works for you?
Without the version specified the Windows includes do not resolve some of the used constants when building with Mingw: