I have Go application pravasan and in my deploy branch I am trying to execute gox
to build its binaries, I am getting couple of errors and they are
18 errors occurred:
--> linux/amd64 error: exit status 2
Stderr: # github.com/mattn/go-sqlite3
../../mattn/go-sqlite3/sqlite3.c:92 unknown #: if
../../mattn/go-sqlite3/sqlite3.c:94 6c: No such file or directory: mingw.h
--> darwin/386 error: exit status 2
Stderr: # github.com/mattn/go-sqlite3
../../mattn/go-sqlite3/sqlite3.c:92 unknown #: if
../../mattn/go-sqlite3/sqlite3.c:94 8c: No such file or directory: mingw.h
--> linux/386 error: exit status 2
Stderr: # github.com/mattn/go-sqlite3
../../mattn/go-sqlite3/sqlite3.c:92 unknown #: if
../../mattn/go-sqlite3/sqlite3.c:94 8c: No such file or directory: mingw.h
Do anybody has suggestions to resolve this..
The gox issue 23 mentions:
if you add
CGO_ENABLED=1
to the environment, it successfully compiles, but does not link (it needs a linux linker still), but gets much further along.so maybe we need to add a new
-cgo
flag (or, just do it) to gox to set that.That seems to be necessary, with Go 1.4 now being more strict when compiling C source files:
Unless
cgo
is being used to build the package, the go command now refuses to compile C source files, since the relevant C compilers (6c etc.) are intended to be removed from the installation in some future release.
(They are used today only to build part of the runtime.)
It is difficult to use them correctly in any case, so any extant uses are likely incorrect, so we have disabled them.