I compiled using the clang-error branch and now I get these errors:

In file included from phrase-extract/syntax-common/tree.h:99:
phrase-extract/syntax-common/tree-inl.h:76:1: error: missing 'typename' prior 
to dependent type template name 'Tree<T>::PreOrderIter'
Tree<T>::PreOrderIter<V> &Tree<T>::PreOrderIter<V>::operator++() {
^
phrase-extract/syntax-common/tree-inl.h:103:1: error: missing 'typename' prior 
to dependent type template name 'Tree<T>::PreOrderIter'
Tree<T>::PreOrderIter<V> Tree<T>::PreOrderIter<V>::operator++(int) {
^
phrase-extract/syntax-common/tree-inl.h:165:1: error: missing 'typename' prior 
to dependent type template name 'Tree<T>::LeafIter'
Tree<T>::LeafIter<V> &Tree<T>::LeafIter<V>::operator++() {
^
phrase-extract/syntax-common/tree-inl.h:190:1: error: missing 'typename' prior 
to dependent type template name 'Tree<T>::LeafIter'


The build log is attached.


I guess you are right in saying that I should probably just switch to Linux 
instead of trying to get the compilation to work on the Mac.


Regards,

Hrafn Loftsson, Ph.D., www.ru.is/~hrafn<http://www.ru.is/~hrafn>
Dósent | Associate Professor
Tölvunarfræðideild | School of Computer Science
Háskólinn í Reykjavík | Reykjavik University


________________________________
Frá: Hieu Hoang <[email protected]>
Sent: 1. nóvember 2019 00:23
Til: Hrafn Loftsson
Afrit: moses-support
Efni: Re: [Moses-support] Building mosesdecoder on Mac OS

That's odd, it should be using clang rather than clang++ to compile cmd.c

I've created a branch to try and fix it
  https://github.com/moses-smt/mosesdecoder/tree/clang-error
so git checkout clang-error and try to compile again

It looks like clang/osx build is starting to seriously diverge from gcc and 
could be a long-term problem. I don't have time to deal with it anymore so you 
may have to retreat to gcc on linux if there are lots more issues




On Thu, Oct 31, 2019, 12:55 PM Hrafn Loftsson <[email protected]<mailto:[email protected]>> 
wrote:
Thanks for a quick reply.


Yes, I was planning to use moses only for command line experiments.


Following your advice, I uninstalled the xmlrpc-c library and now I build using:


./bjam --with-boost=/Users/hrafn/nlp/smt/boost_1_71_0/ -j4 toolset=clang


Unfortunately, I get a similar error:


clang-darwin.compile.c 
symal/bin/clang-darwin-4.2.1/release/link-static/threading-multi/cmd.o

    "clang++" -x c -O3 -std=c++0x -O3 -finline-functions -Wno-inline -Wall 
-DKENLM_MAX_ORDER=6 -DMOSES_VERSION_ID=\"mmt-mvp-v0.12.1-2869-g0fef8ebf4\" 
-DNDEBUG -DTRACE_ENABLE=1 -DWITH_THREADS -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES 
-I"." -I"/Users/hrafn/nlp/smt/boost_1_71_0/include" -c -o 
"symal/bin/clang-darwin-4.2.1/release/link-static/threading-multi/cmd.o" 
"symal/cmd.c"

error: invalid argument '-std=c++0x' not allowed with 'C'
...failed clang-darwin.compile.c 
symal/bin/clang-darwin-4.2.1/release/link-static/threading-multi/cmd.o...



Regards,

Hrafn Loftsson, Ph.D., 
www.ru.is/~hrafn<http://www.ru.is/~hrafn><http://www.ru.is/~hrafn>
Dósent | Associate Professor
Tölvunarfræðideild | School of Computer Science
Háskólinn í Reykjavík | Reykjavik University


________________________________
Frá: Hieu Hoang <[email protected]<mailto:[email protected]>>
Sent: 31. október 2019 19:33
Til: Hrafn Loftsson
Afrit: moses-support
Efni: Re: [Moses-support] Building mosesdecoder on Mac OS

It's been a few years since I've used osx.

My advice is
  1. Don't include cmph library. It's only used by the compact phrase table 
which crashes on osx
   2. If you're only using the moses command line to do experiments, you don't 
need the server so you don't need to include xmlrpc-c library.

On Thu, Oct 31, 2019, 12:17 PM Hrafn Loftsson 
<[email protected]<mailto:[email protected]><mailto:[email protected]<mailto:[email protected]>>> wrote:
Hi.


I'm trying to build moses on Mac OS Mojave (10.14.6).


I have downloaded and built boost with success.


According to http://www.statmt.org/moses/?n=Development.GetStarted, I need to 
install xmlrpc-c independently, which I did using brew.


This is the exact command I use when trying to build moses:


./bjam --with-boost=/Users/hrafn/nlp/smt/boost_1_71_0/ 
--with-cmph=/usr/local/Cellar/xmlrpc-c/1.39.12/ -j4 toolset=clang


I have attached the build.log


When inspecting the log, I can see the following:


    "clang++" -x c -O3 -I/usr/local/Cellar/xmlrpc-c/1.39.12/include  -std=c++0x 
-O3 -finline-functions -Wno-inline -Wall -DHAVE_CMPH -DHAVE_XMLRPC_C 
-DKENLM_MAX_ORDER=6 -DMOSES_VERSION_ID=\"mmt-mvp-v0.12.1-2869-g0fef8ebf4\" 
-DNDEBUG -DTRACE_ENABLE=1 -DWITH_THREADS -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES 
-I"." -I"/Users/hrafn/nlp/smt/boost_1_71_0/include" -c -o 
"symal/bin/clang-darwin-4.2.1/release/link-static/threading-multi/cmd.o" 
"symal/cmd.c"

error: invalid argument '-std=c++0x' not allowed with 'C'


Does this mean that C code is being compiled here, with an invalid c++ option?


Regards,
Hrafn
_______________________________________________
Moses-support mailing list
[email protected]<mailto:[email protected]><mailto:[email protected]<mailto:[email protected]>>
http://mailman.mit.edu/mailman/listinfo/moses-support

Attachment: build.log.gz
Description: build.log.gz

_______________________________________________
Moses-support mailing list
[email protected]
http://mailman.mit.edu/mailman/listinfo/moses-support

Reply via email to