Я пытаюсь построить многопоточную поддержку xgboost в соответствии с этим руководство.
Итак, я сделал три шага. Но когда я бегу:
cd xgboost
make
я получаю это сообщение:
/Users/user/clang-omp/build/bin/clang++ -c -Wall -O3 -msse2 -Wno-unknown-pragmas -funroll-loops -fopenmp -fopenmp -fPIC -o updater.o src/tree/updater.cpp
src/tree/updater.cpp:5:10: fatal error: 'cstring' file not found
#include <cstring>
^
1 error generated.
make: *** [updater.o] Error 1
Что я делаю неправильно?
система:
Mac OS X 10.10.4
Постскриптум Я пытался установить системные переменные, как в этом сообщение, но это не сработало.
Решено:
Только что нашел файл «cstring» на моем Mac. Было несколько вариантов. Я взял папку: / usr / local / Cellar / clang-omp / 2015-04-01 / libexec / include / c ++ / v1 /
и установите переменные:
export CPLUS_INCLUDE_PATH=/usr/local/Cellar/clang-omp/2015-04-01/libexec/include/c++/v1/:
export C_INCLUDE_PATH=/usr/local/Cellar/clang-omp/2015-04-01/libexec/include/c++/v1/:
Это был не конец истории. Произошла еще одна ошибка:
Undefined symbols for architecture x86_64:
"__ZNKSs7compareEPKc", referenced from:
__ZN7xgboost14BoostLearnTask3RunEiPPc in main.o
__ZN7xgboost7learner12BoostLearner10InitObjGBMEv in main.o
__ZN7xgboost14BoostLearnTask8InitDataEv in main.o
...
Решено в этом сообщение.
Поэтому я просто исправляю Makefile следующим образом:
export CC = clang-omp++
export CXX = clang-omp++
И это сработало.
Задача ещё не решена.