Я пытаюсь создать cdec на Ubuntu 18.04.1 LTS (работающий в VirtualBox в Windows 10). Обратите внимание на то, что я нисколько не опытный продвинутый пользователь Linux.
Я выполнил команды, данные в вышеупомянутом cdec repo:
cmake .
make -j4
make test
./tests/run-system-tests.pl
Однако во время make
Я получил ошибку, к которой я не мог найти трассировку. Отключение мультипотоков и установки VERBOSE (make VERBOSE=1
), я получил следующую трассировку:
[ 79%] Building CXX object extractor/CMakeFiles/extractor.dir/backoff_sampler.cc.o
cd /tmp/cdec/build/extractor && /usr/bin/c++ -DHAVE_CONFIG_H -DKENLM_MAX_ORDER=6 -I/tmp/cdec -I/tmp/cdec/build -I/usr/include/eigen3 -I/tmp/cdec/extractor/../utils -I/tmp/cdec/extractor -I/tmp/cdec/extractor/features -Wall -std=c++11 -O3 -g -fopenmp -o CMakeFiles/extractor.dir/backoff_sampler.cc.o -c /tmp/cdec/extractor/backoff_sampler.cc
/tmp/cdec/extractor/backoff_sampler.cc: In member function ‘virtual extractor::PhraseLocation extractor::BackoffSampler::Sample(const extractor::PhraseLocation&, const std::unordered_set<int>&) const’:
/tmp/cdec/extractor/backoff_sampler.cc:24:18: error: ‘round’ was not declared in this scope
int sample = round(i);
^~~~~
/tmp/cdec/extractor/backoff_sampler.cc:24:18: note: suggested alternative: ‘rand’
int sample = round(i);
^~~~~
rand
extractor/CMakeFiles/extractor.dir/build.make:86: recipe for target 'extractor/CMakeFiles/extractor.dir/backoff_sampler.cc.o' failed
Я нисколько не разработчик C++, но я предположил бы, что исходный код был записан для компилятора, который имеет собственный компонент round()
функция (или что-то как этот?), но это на моей установке дело обстоит не так.
Я не уверен, какая информация могла быть полезной, таким образом, вот предположение:
Я должен буду, вероятно, сделать изменения в исходном коде, который я принимаю, но я не знаю, что измениться на или замена какой. Любые индикаторы приветствуются.
Примечание: об ошибке сообщили разработчику.
Я рекомендую, чтобы Ваш удалять папку программы и устанавливают новую из архива. Ваши остановленные в 79% установки и имеют ошибку "extractor.dir / backoff_sampler", для обхождения ее необходимо воссоздать (запуск от конца) 'cdec' папку в новой разархивированной программе. (Я использовал Ubuntu 18.04.3 LTS на HDD).
# apt-get install cmake git build-essential libboost-dev libboost-regex-dev libboost-filesystem-dev libboost-serialization-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev libeigen3-dev libbz2-dev liblzma-dev flex libgtest-dev
# git clone https://github.com/redpony/cdec.git
# cd cdec
# apt-get update
# apt-get install golang-github-cenkalti-backoff-dev
# cmake .
# make -j4
# reboot
# cd cdec
# cmake .
# make -j4