ok. PhraseDictionaryCompact is popular enough, Eclipse now compile it with this phrase table.

You must softlink cmph to the root of your moses source code directory:
   cd ..../mosesdecoder
   ln -s  /Users/hieu/workspace/cmph-2.0 cmph
Re-import the eclipse project files into your workspace and recompile

On 08/09/2015 18:18, Yuqi Zhang wrote:
Dear Moses Developers,

I am building the debug version of moses on my Mac laptop (OS 10.10.4) with Eclipse CDT (Luna). I can successfully built and debug the standard version with PhraseDictionMemory. However, when I want to debug the PhraseDictionaryCompact by invoking the conditional compiling symbol "HAVE_CMPH", I got link errors (e.g. on moses-cmd/):

------------------------------------------------------------------------------------------------------------------------

Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)

Target: x86_64-apple-darwin14.4.0

Thread model: posix

"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" -demangle -dynamic -arch x86_64 -macosx_version_min 10.10.0 -o moses-cmd -L/Users/d064586/Dev/moses-RELEASE-3.0/mosesbuild/moses/contrib/other-builds/../../boost/lib64 -L/Users/d064586/Dev/moses-RELEASE-3.0/mosesbuild/moses/contrib/other-builds/moses/Debug -L/Users/d064586/Dev/moses-RELEASE-3.0/mosesbuild/moses/contrib/other-builds/lm/Debug -L/Users/d064586/Dev/moses-RELEASE-3.0/mosesbuild/moses/contrib/other-builds/OnDiskPt/Debug -L/Users/d064586/Dev/moses-RELEASE-3.0/mosesbuild/moses/contrib/other-builds/util/Debug -L/Users/d064586/Dev/moses-RELEASE-3.0/mosesbuild/moses/contrib/other-builds/search/Debug -L/opt/local/lib ./Main.o -lmoses -lsearch -lOnDiskPt -llm -lutil -lboost_iostreams -lboost_serialization -lboost_system -lboost_thread -lboost_filesystem -lpthread -lz -lbz2 -ldl -lc++ -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.1.0/lib/darwin/libclang_rt.osx.a

Undefined symbols for architecture x86_64:

"Moses::PhraseDictionaryCompact::PhraseDictionaryCompact(std::string const&)", referenced from:

Moses::(anonymous namespace)::DefaultFeatureFactory<Moses::PhraseDictionaryCompact>::Create(std::string const&) in libmoses.a(Factory.o)

"Moses::LexicalReorderingTableCompact::CheckAndLoad(std::string const&, std::vector<unsigned long, std::allocator<unsigned long> > const&, std::vector<unsigned long, std::allocator<unsigned long> > const&, std::vector<unsigned long, std::allocator<unsigned long> > const&)", referenced from:

Moses::LexicalReorderingTable::LoadAvailable(std::string const&, std::vector<unsigned long, std::allocator<unsigned long> > const&, std::vector<unsigned long, std::allocator<unsigned long> > const&, std::vector<unsigned long, std::allocator<unsigned long> > const&) in libmoses.a(LexicalReorderingTable.o)

... ...

ld: symbol(s) not found for architecture x86_64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

------------------------------------------------------------------------------------------------------------------------


I have worked on this for several days, but cannot fix it.

The full log files is attached.

Any suggestions or hints are welcome!

Thank you very much!

Best regards,

Yuqi Zhang



_______________________________________________
Moses-support mailing list
Moses-support@mit.edu
http://mailman.mit.edu/mailman/listinfo/moses-support

--
Hieu Hoang
http://www.hoang.co.uk/hieu

_______________________________________________
Moses-support mailing list
Moses-support@mit.edu
http://mailman.mit.edu/mailman/listinfo/moses-support

Reply via email to