Trouble building srilm project (macosx)

P McIlroy pmcilroy at
Mon Nov 28 20:39:29 PST 2005

I joined this group in hopes of finding some help on the MacOS compile.

I'm getting a handful of uninstantiated templates in the out-of-the-box 
compile on OS X 10.3.9, with compiler version:

gcc version 3.3 20030304 (Apple Computer, Inc. build 1666)

The undefined functions are, in various executables:

FNgramCounts<unsigned int>::FNgramCounts(FactoredVocab&, 
FNgramSpecs<unsigned int>&)
Map2<unsigned int, unsigned int, double>::clear()
NgramCounts<unsigned int>::NgramCounts(Vocab&, unsigned int)

I was able to 'fix' ngram-counts by adding

#include ""

to the main program.

The same fix does not work for

Additional investigation shows that the instance file


does not include an instantiation of the NGramCount constructor.

Other attempts like adding this to the main program:

static template NGramCounts<unsigned>;

lead to multiple definition errors in the linker.

Is there a known configuration or compiler option that works on OS X 
10.3?  Or will upgrading to 10.4 fix the problems?


Peter McIlroy

Begin forwarded message:

> From: P McIlroy <pmcilroy at>
> Date: November 28, 2005 3:17:14 PM PST
> To: stolcke at
> Subject: Fwd: Trouble building your srilm project (macosx)
> I was able to compile one of the failed executables (ngram-count), but 
> it required adding
> #include ""
> to the end of the list of includes in the main source file 
>  (This is not the preferred way to force compilation 
> of templates, but it's working for now.)  I also tried forcing 
> instantiation by creating a file, but this led to 
> horrible multiple definitions.
> I'm still getting a warning for multiple definitions of _qsort(), but 
> I don't think this is a problem.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: text/enriched
Size: 2058 bytes
Desc: not available
URL: <>

More information about the SRILM-User mailing list