FinnPos
FinnPos copied to clipboard
make it compile in clang
Hey @mpsilfve,
I'm not a C++ expert, but here are some changes to make tests compile on OS X.
They were required to make cd src/tagger; make tests
compile.
Some tests still don't compile for me, e.g.
make TEST_Trellis
clang++ -Wall -Wextra -g -O3 -Wfatal-errors -Werror -std=c++0x -c -o io.o io.cc
clang++ -Wall -Wextra -g -O3 -Wfatal-errors -Werror -std=c++0x -c -o Word.o Word.cc
clang++ -Wall -Wextra -g -O3 -Wfatal-errors -Werror -std=c++0x -c -o LemmaExtractor.o LemmaExtractor.cc
clang++ -Wall -Wextra -g -O3 -Wfatal-errors -Werror -std=c++0x -c -o LabelExtractor.o LabelExtractor.cc
clang++ -Wall -Wextra -g -O3 -Wfatal-errors -Werror -std=c++0x -c -o Sentence.o Sentence.cc
clang++ -Wall -Wextra -g -O3 -Wfatal-errors -Werror -std=c++0x -c -o ParamTable.o ParamTable.cc
clang++ -Wall -Wextra -g -O3 -Wfatal-errors -Werror -std=c++0x -c -o Data.o Data.cc
clang++ -Wall -Wextra -g -O3 -Wfatal-errors -Werror -std=c++0x -c -o TrellisColumn.o TrellisColumn.cc
clang++ -Wall -Wextra -g -O3 -Wfatal-errors -Werror -std=c++0x -c -o Trellis.o Trellis.cc
clang++ -Wall -Wextra -g -O3 -Wfatal-errors -Werror -std=c++0x -c -o Trainer.o Trainer.cc
clang++ -Wall -Wextra -g -O3 -Wfatal-errors -Werror -std=c++0x -c -o PerceptronTrainer.o PerceptronTrainer.cc
clang++ -Wall -Wextra -g -O3 -Wfatal-errors -Werror -std=c++0x -c -o SGDTrainer.o SGDTrainer.cc
clang++ -Wall -Wextra -g -O3 -Wfatal-errors -Werror -std=c++0x -c -o TrellisCell.o TrellisCell.cc
clang++ -Wall -Wextra -g -O3 -Wfatal-errors -Werror -std=c++0x -c -o Tagger.o Tagger.cc
clang++ -Wall -Wextra -g -O3 -Wfatal-errors -Werror -std=c++0x -c -o TaggerOptions.o TaggerOptions.cc
clang++ -Wall -Wextra -g -O3 -Wfatal-errors -Werror -std=c++0x -c -o SuffixLabelMap.o SuffixLabelMap.cc
clang++ -Wall -Wextra -g -O3 -Wfatal-errors -Werror -std=c++0x -DTEST_Trellis_cc -o TEST_Trellis io.o Word.o LemmaExtractor.o LabelExtractor.o Sentence.o ParamTable.o Data.o TrellisColumn.o Trellis.o Trainer.o PerceptronTrainer.o SGDTrainer.o TrellisCell.o Tagger.o TaggerOptions.o SuffixLabelMap.o Trellis.cc
duplicate symbol __Z8float_eqff in:
TaggerOptions.o
/var/folders/_5/cbsg50991szfp1r9nwxpx8580000gn/T/Trellis-9878f7.o
ld: 1 duplicate symbol for architecture x86_64
clang: fatal error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [TEST_Trellis] Error 1
Some tests pass (TEST_Word, TEST_io, TEST_LabelExtractor, TEST_Sentence, TEST_ParamTable, TEST_Data).
Some segfault:
> ./TEST_LemmaExtractor
Assertion failed: (lemma_extractor.get_lemma_candidate("hogs", "NN") == "hog"), function main, file LemmaExtractor.cc, line 666.
Abort trap: 6
> ./TEST_TrellisColumn
libc++abi.dylib: terminating with uncaught exception of type std::out_of_range: vector
Abort trap: 6