On Sat, Aug 4, 2018 at 11:17 PM Jonathan Nieder <jrnieder@xxxxxxxxx> wrote: > > utf8.c:486:28: warning: passing 'iconv_ibp *' (aka 'const char **') to parameter > > of type 'char **' discards qualifiers in nested pointer types > > [-Wincompatible-pointer-types-discards-qualifiers] > > Oh, good catch! POSIX documents iconv has having signature > > size_t iconv(iconv_t cd, char **restrict inbuf, > size_t *restrict inbytesleft, char **restrict outbuf, > size_t *restrict outbytesleft); > > config.mak.uname contains > > ifeq ($(uname_S),FreeBSD) > NEEDS_LIBICONV = YesPlease > OLD_ICONV = YesPlease > > So it looks like FreeBSD has modernized and we need to make that > conditional in config.mak.uname on $(uname_R). Do you know which > version of FreeBSD changed the signature? Care to write a patch? Unfortunately, I don't know in which version of FreeBSD that changed. I rarely fire up that virtual machine (only in rare cases when I want to verify some change to Git also builds/runs/whatever on FreeBSD), so I haven't really been paying attention to it. I know that this warning was present in 11.1 (and I'm guessing all of 11.x), but I don't recall if it manifested in 10.x. I guess it shouldn't be too hard to install various versions of FreeBSD to determine this, but it would be quite time-consuming. I'm not very familiar with FreeBSD-land, but I would hope there would be an easier way to determine when it changed than by installing old versions. Does FreeBSD have historic package repositories (containing headers, for instance) which one could consult instead?