$ echo "DEFAULT_VERSIONS += gcc=7" >>${__MAKE_CONF:-/etc/make.conf} $ make [...] In file included from ./../include/fst/accumulator.h:44:0, from ./../include/fst/label-reachable.h:39, from ./../include/fst/lookahead-matcher.h:28, from ./../include/fst/matcher-fst.h:26, from fst.cc:27: ./../include/fst/replace.h: In constructor 'fst::ArcIterator<fst::ReplaceFst<A, T> >::ArcIterator(const fst::ReplaceFst<A, T>&, fst::ArcIterator<fst::ReplaceFst<A, T> >::StateId)': ./../include/fst/replace.h:1061:46: error: expected ';' before '::' token (fst_.GetImpl())->template CacheImpl<A>::InitArcIterator(state_, ^~ build log: http://sprunge.us/jigV
Possibly fixed by https://github.com/hfst/hfst/commit/134d5a5aac3fd015c4955b6f5fdfede42159e402
I confirm. It fixed gcc7 build and didn't regress gcc6.
A commit references this bug: Author: jbeich Date: Sun Sep 24 20:15:48 UTC 2017 New revision: 450548 URL: https://svnweb.freebsd.org/changeset/ports/450548 Log: math/hfst: unbreak with gcc7 PR: 222567 Submitted by: rakuco Obtained from: upstream (hfst-3.13.0) Approved by: portmgr blanket Changes: head/math/hfst/Makefile head/math/hfst/distinfo