Xgboost: g++ : erreur : libgomp.spec : aucun fichier ou répertoire de ce type

Créé le 22 mars 2016  ·  3Commentaires  ·  Source: dmlc/xgboost

Salut les gens,

J'essaie d'installer xgboost sur ma machine window7-64 bits. Il n'arrêtait pas de rencontrer ce problème. Je ne sais pas ce que je dois faire.
J'ai fait exactement comme le fil http://xgboost.readthedocs.org/en/latest/build.html. Et également renommé mingw32-make.exe en make. EXE. J'utilise le compilateur TDM-GCC. Le message d'erreur complet est :

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

Merci, toute aide appréciée.

Commentaire le plus utile

@hx364
J'ai découvert que c'est dû au fait que l'installation par défaut de TDM-GCC ne prend pas en charge openmp. Vous pouvez donc réinstaller TDM-GCC et vous assurer de cocher l'option gcc et de sélectionner le openmp comme ci-dessous.
Cela a résolu mon problème.

blog-tdm-gcc-openmp

Tous les 3 commentaires

libgomp est nécessaire pour la prise en charge d'OpenMP, donc je pense que votre compilateur n'a peut-être pas une bonne prise en charge d'OpenMP.

J'ai eu une erreur similaire :

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

sur Windows x64, en utilisant le compilateur TDM-GCC

@hx364
J'ai découvert que c'est dû au fait que l'installation par défaut de TDM-GCC ne prend pas en charge openmp. Vous pouvez donc réinstaller TDM-GCC et vous assurer de cocher l'option gcc et de sélectionner le openmp comme ci-dessous.
Cela a résolu mon problème.

blog-tdm-gcc-openmp

Cette page vous a été utile?
0 / 5 - 0 notes