The locale utilities locale and localedef fail to build on FreeBSD due to assumptions about the <iconv.h> header which apparently isn't provided on this platform:
gcc -c -I$(TOPDIR)/include/ansi -D_RWSTDDEBUG -I$(TOPDIR)/include -I$(BUILDDIR)/include -pedantic -nostdinc++ -g -W -Wall -Wcast-qual -Winline -Wshadow -Wwrite-strings -Wno-long-long -Wcast-align $(TOPDIR)/util/localedef.cpp
In file included from $(TOPDIR)/util/def.h:45,
from $(TOPDIR)/util/localedef.cpp:30:
$(TOPDIR)/util/charmap.h:39:21: iconv.h: No such file or directory
In file included from $(TOPDIR)/util/def.h:45,
from $(TOPDIR)/util/localedef.cpp:30:
$(TOPDIR)/util/charmap.h:165: error: `iconv_t' does not name a type
$(TOPDIR)/util/charmap.h:165: error: extra semicolon
$(TOPDIR)/util/charmap.h:228: error: `iconv_t' does not name a type
$(TOPDIR)/util/charmap.h:228: error: extra semicolon
$(TOPDIR)/util/charmap.h:231: error: `iconv_t' does not name a type
$(TOPDIR)/util/charmap.h:231: error: extra semicolon
$(TOPDIR)/util/localedef.cpp: In function `bool process_command_line(ProgramOptions*, int, char**)':
$(TOPDIR)/util/localedef.cpp:475: warning: unused variable 'errors'
gmake: *** [localedef.o] Error 1
STDCXX-40when dealing with this.