Thursday, August 16, 2018

Build error using golang race detector

Leave a Comment

My software compiles and runs fine but when I add the -race option to check for race conditions it does not build:

GOROOT=C:\Go  GOPATH=<deleted>;D:\Golang  C:\Go\bin\go.exe build -race -o C:\Users\Andrewp\AppData\Local\Temp\___1Race_Detector.exe -gcflags "-N -l" -a <deleted>  # runtime/cgo  gcc_libinit_windows.c: In function 'x_cgo_sys_thread_create': gcc_libinit_windows.c:56:12: error: implicit declaration of function '_beginthread' [-Werror=implicit-function-declaration]   thandle = _beginthread(func, 0, arg);             ^ cc1: all warnings being treated as errors  Compilation finished with exit code 2 

Note that it worked previously but I have since upgraded to go version go1.9.2 windows/amd64 (though I don't think that is related). Also have MSYS installed.

Also I am building with GoLand (under Windows 10) but I get the same problem when I build from the command line.

Does anyone have info on how the Go compiler works esp. when using race detector or cgo, so I can track down the cause of this?

Extra info: I can build fine from the terminal using:

go build -race

It seems that the problem is caused by the -a option that GoLand added to the command line since this almost identical command line fails:

go build -race -a .

But this is OK:

go build -a .

0 Answers

If You Enjoyed This, Take 5 Seconds To Share It

0 comments:

Post a Comment