[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