[SRILM User List] Compiling srilm with gcc 4.6.1 (and possibly any versions >= 4.3): patched Lattice sources
Andreas Stolcke
stolcke at icsi.berkeley.edu
Wed May 16 11:05:29 PDT 2012
On 5/16/2012 9:25 AM, Edward Grefenstette wrote:
> Dear srilm users,
>
> As mentioned in another email, I've encountered and later resolved
> some problems building srilm with gcc v4.6
> <http://stackoverflow.com/questions/10606983/problems-installing-srilm-on-os-x-10-7>.
> The fault, it seems, lays with the makearray declarations used
> in LatticeIndex.cc and LatticeNgrams.cc found in ./lattice/src/ of the
> srilm folder.
>
> I've managed to get srilm to compile by "cheating" and using an older
> version of g++ passed to make with CXX flag, but ideally it'd be
> better to fix the source to be compliant with C++0x, as enforced by
> gcc versions >= 4.3 (I think).
>
> I attach to this email the modified LatticeIndex.cc
> and LatticeNgrams.cc files from srilm 1.6.0 (diffs reproduced at the
> end of the email), which allowed me to compile srilm using gcc 4.6.1
> without passing an older g++ using the CXX flag. Could someone please
> sanity check the changes? If they're good, it'd be nice to see these
> files updated in the main distribution so that others don't encounter
> this frustrating problem when they update their compilers and decide
> to (re)build srilm.
SRILM compiles fine on gcc 4.5.x, which is the latest version I've
verified myself.
It is possible that gcc 4.6.x changed (removed) the support for
stack-allocated arrays with size computed at run-time, to be inline with
standard C++. In that case a simple change in Array.h (the conditional
definition of makeArray()) should suffice.
I will try to get my hands on gcc 4.6.x to verify this, but feel free to
submit a patch along those lines.
Andreas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.speech.sri.com/pipermail/srilm-user/attachments/20120516/323e985a/attachment.html>
More information about the SRILM-User
mailing list