Trouble building nutrimatic
Closed this issue · 7 comments
Hi folks,
I'm trying to work through the README to build my own corpus but haven't gotten very far because ./build.py fails pretty early trying to build openfst-1.5.0:
./../../../openfst-1.5.0/src/lib/../include/fst/replace.h: In constructor 'fst::ArcIterator<fst::ReplaceFst<A, T, C> >::ArcIterator(const fst::ReplaceFst<A, T, C>&, fst::ArcIterator<fst::ReplaceFst<A, T, C> >::StateId)':
../../../../openfst-1.5.0/src/lib/../include/fst/replace.h:1254:57: error: expected ';' before '::' token
->template CacheBaseImpl<typename C::State, C>::InitArcIterator(
^~
;
This is on a Debian (unstable) system by the way. The syntax problem there looks pretty opaque to me. Is this some C++ version change?
I noticed there was a Debian bug filed back for openfst-1.5.x with a similar problem, (when the automated Debian builders couldn't build the source package and they failed with the same error).
Meanwhile, Debian does have openfst-1.6.3 all nicely packaged and installed. Would there be any hope in me trying to point nutrimatic at that?
Or otherwise, can you suggest any fix for the problem I'm hitting above?
Thanks for any advice,
-Carl
It appears like I was able to get past this by dropping in the upstream openfst-1.6.3 source and compiling it instead. (I first tried each of 1.5.4, 1.6.0, and 1.6.1 and each failed in one way or another.)
I haven't tried running any of the compiled results yet, so I'll see if any of this worked.
But perhaps you'll want to consider updating the version of openfst that is bundled.
-Carl
Fascinating. Please keep me updated on what works!
Did you try openfst-1.7.0 (the current release)?
I rebuilt with 1.7.0. I had to comment out one static_assert() (a known issue with gcc) but otherwise it seems to work fine, and nutrimatic.org is running off this build now. Will check that in to github.
Pushed the version with openfst-1.7.0. Let me know if you have any further issues!
Thanks for the reply!
I've now completed my indexing of the wikipedia corpus so I have verified that what I built with openfst-1.6.3 is working for me. And by the way, thanks for nutrimatic!
I tried building the latest source from git and the configure step for openfst fails:
config.status: error: cannot find input file: `src/bin/Makefile.in'
But I do see the src/bin/Makefile.in file in the upstream openfst-1.7.0 tar file.
Did this get missed when you added the new bundled source? (Perhaps due to be a file that's being added in spite of a git ignore pattern to the contrary or something?)
-Carl
Works for me now. Thanks again!