Xgboost: g++: erro: libgomp.spec: Arquivo ou diretório inexistente

Criado em 22 mar. 2016  ·  3Comentários  ·  Fonte: dmlc/xgboost

Oi pessoal,

Estou tentando instalar o xgboost na minha máquina window7-64 bit. Continuou encontrando esse problema. Não tenho certeza do que devo fazer.
Fiz exatamente como o tópico http://xgboost.readthedocs.org/en/latest/build.html. E também renomeou o mingw32-make.exe para fazer. Exe. Estou usando o compilador TDM-GCC. A mensagem de erro completa é:

ar cr libdmlc.a line_split.o recordio_split.o input_split_base.o io.o local_filesys.o data.o recordio.o config.o
make[1]: Leaving directory 'C:/Users/hxu/xgboost/dmlc-core'
g++ -m64 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude -DDMLC_ENABLE_STD_THREAD=0  -Idmlc-core/include -Irabit/include -openmp -o xgboost  build/cli_main.o build/learner.o build/logging.o build/common/common.o build/c_api/c_api_error.o build/c_api/c_api.o build/data/siple_dmatrix.o build/data/sparse_page_raw_format.o build/data/data.o build/data/simple_csr_source.o build/data/sparse_page_writer.o build/data/sparse_age_source.o build/data/sparse_page_dmatrix.o build/gbm/gbm.o build/gbm/gblinear.o build/gbm/gbtree.o build/metric/multiclass_metric.o build/metric/eementwise_metric.o build/metric/rank_metric.o build/metric/metric.o build/objective/regression_obj.o build/objective/rank_obj.o build/objective/objecive.o build/objective/multiclass_obj.o build/tree/tree_model.o build/tree/updater_colmaker.o build/tree/updater_skmaker.o build/tree/updater_sync.o bild/tree/updater_refresh.o build/tree/updater_histmaker.o build/tree/tree_updater.o build/tree/updater_prune.o dmlc-core/libdmlc.a rabit/lib/librabitempty.a  -pthread -lm  -fopenmp
ar crv lib/libxgboost.a build/learner.o build/logging.o build/common/common.o build/c_api/c_api_error.o build/c_api/c_api.o build/data/simple_dmatrixo build/data/sparse_page_raw_format.o build/data/data.o build/data/simple_csr_source.o build/data/sparse_page_writer.o build/data/sparse_page_source. build/data/sparse_page_dmatrix.o build/gbm/gbm.o build/gbm/gblinear.o build/gbm/gbtree.o build/metric/multiclass_metric.o build/metric/elementwise_mtric.o build/metric/rank_metric.o build/metric/metric.o build/objective/regression_obj.o build/objective/rank_obj.o build/objective/objective.o buildobjective/multiclass_obj.o build/tree/tree_model.o build/tree/updater_colmaker.o build/tree/updater_skmaker.o build/tree/updater_sync.o build/tree/upater_refresh.o build/tree/updater_histmaker.o build/tree/tree_updater.o build/tree/updater_prune.o
g++: error: libgomp.spec: No such file or directory
Makefile:128: recipe for target 'xgboost' failed
mingw32-make: *** [xgboost] Error 1
mingw32-make: *** Waiting for unfinished jobs....
g++ -m64 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude -DDMLC_ENABLE_STD_THREAD=0  -Idmlc-core/include -Irabit/include -openmp -shared -o lib/libxgboost.dll build/learner.o build/logging.o build/common/common.o build/c_api/c_api_error.o build/c_api/c_api.o build/data/smple_dmatrix.o build/data/sparse_page_raw_format.o build/data/data.o build/data/simple_csr_source.o build/data/sparse_page_writer.o build/data/sparsepage_source.o build/data/sparse_page_dmatrix.o build/gbm/gbm.o build/gbm/gblinear.o build/gbm/gbtree.o build/metric/multiclass_metric.o build/metric/lementwise_metric.o build/metric/rank_metric.o build/metric/metric.o build/objective/regression_obj.o build/objective/rank_obj.o build/objective/objetive.o build/objective/multiclass_obj.o build/tree/tree_model.o build/tree/updater_colmaker.o build/tree/updater_skmaker.o build/tree/updater_sync.o uild/tree/updater_refresh.o build/tree/updater_histmaker.o build/tree/tree_updater.o build/tree/updater_prune.o dmlc-core/libdmlc.a rabit/lib/librabi_empty.a -pthread -lm  -fopenmp
g++: error: libgomp.spec: No such file or directory
Makefile:120: recipe for target 'lib/libxgboost.dll' failed
mingw32-make: *** [lib/libxgboost.dll] Error 1

Obrigado, qualquer ajuda apreciada.

Comentários muito úteis

@hx364
Descobri que, é devido à instalação padrão do TDM-GCC sem suporte a openmp. Então você pode reinstalar o TDM-GCC e certifique-se de verificar a opção gcc e selecionar openmp como abaixo.
Resolveu meu problema.

blog-tdm-gcc-openmp

Todos 3 comentários

libgomp é necessário para suporte a OpenMP, então acho que seu compilador pode não ter um bom suporte para OpenMP.

Eu tenho erro semelhante:

g++ -m64 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iincl
ude -DDMLC_ENABLE_STD_THREAD=0  -Idmlc-core/include -Irabit/include -fopenmp -sh
ared -o lib/libxgboost.dll build/leg++: error: libgomp.spec: No such file or dir
ectory

no Windows x64, usando o compilador TDM-GCC

@hx364
Descobri que, é devido à instalação padrão do TDM-GCC sem suporte a openmp. Então você pode reinstalar o TDM-GCC e certifique-se de verificar a opção gcc e selecionar openmp como abaixo.
Resolveu meu problema.

blog-tdm-gcc-openmp

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

nicoJiang picture nicoJiang  ·  4Comentários

nnorton24 picture nnorton24  ·  3Comentários

colinsongf picture colinsongf  ·  4Comentários

vkuznet picture vkuznet  ·  3Comentários

tqchen picture tqchen  ·  4Comentários