The example in contrib works, as does the one in biconcor.
The examples in lm and moses don't work at the moment,
but checking them in anyway as a starting point
for any potential work on them next week during the
MT Marathon.
If libmoses.a was compiled with LM_IRST,
then the following flags must be passed to the linker
when compiling CreateOnDiskPt:
-L $(XCODE_MOSES_LIBRARY_IRSTLM)
-lirstlm
If libmoses.a was compiled with LM_SRI,
then the following flags must be passed to the linker
when compiling CreateOnDiskPt:
-L $(XCODE_MOSES_LIBRARY_SRILM)
-ldstruct
-liconv
-lz
-lmisc
-loolm
Additionally, if libmoses.a was compiled with LM_SRI,
and SRILM was compiled with lbfgs,
then the following flags must be passed to the linker
when compiling CreateOnDiskPt:
-L $(XCODE_MOSES_LIBRARY_LBFGS)
-Xlinker -search_paths_first
-llbfgs
An note of explanation here may be warranted
with regard to the above lbfgs-related flags:
Mac OS X ships with a dynamic library that is loaded
with the flag -lz. SRILM compiles its own version of this
library. If SRILM is compiled statically, this becomes a problem.
We need XCode to link against the SRILM version of zlib,
but by default, the linker will search through all known library paths
for a dynamic version first. Only if no dynamic version is found will
it then search the library paths for a static version.
The fix for this problem is to use the -Xlinker flag to pass an additional
flag to the linker: -search_paths_first. This flag forces to linker to
iterate only once through each directory in its library path; within each
such directory it will first look for a dynamic version and
then, if necessary, for a static version. This solves the problem.