AGWA / git-crypt

Transparent file encryption in git
https://www.agwa.name/projects/git-crypt/
GNU General Public License v3.0
8.18k stars 475 forks source link

(cygwin?) gcc 7.3.0 mkstemp compile error (and solution) #152

Open jlmxyz opened 6 years ago

jlmxyz commented 6 years ago

on cygwin (will test on linux) there is a compile error complaining

util-unix.cpp:79:13: error: 'mkstemp' was not declared in this scope

according to this https://stackoverflow.com/questions/21689124/mkstemp-and-fdopen-in-cygwin-1-7-28 this is due to --std=c++11 defining U__STRICT_ANSI__ a solution is to relax the std=c++11, another would be to drop the dependency on mkstemp and use http://en.cppreference.com/w/cpp/io/c/tmpnam or best http://en.cppreference.com/w/cpp/io/c/tmpfile

diff --git a/Makefile b/Makefile index 68eb9db..3a2be61 100644 --- a/Makefile +++ b/Makefile @@ -5,7 +5,7 @@ #

CXXFLAGS ?= -Wall -pedantic -Wno-long-long -O2 -CXXFLAGS += -std=c++11 +CXXFLAGS += -std=c++11 -U__STRICT_ANSI__ PREFIX ?= /usr/local BINDIR ?= $(PREFIX)/bin MANDIR ?= $(PREFIX)/share/man

plup commented 6 years ago

I confirm this issue (and solution) on cygwin.

Overriding default CFlags works:

CXXFLAGS=" -Wall -pedantic -Wno-long-long -O2 -U__STRICT_ANSI__" make
rasa commented 5 years ago

See #145 and https://github.com/AGWA/git-crypt/blob/0dec70739b3f4e6d22007c102f581448c4e9d2f1/Makefile#L19