Xgboost: g++: ์˜ค๋ฅ˜: libgomp.spec: ํ•ด๋‹น ํŒŒ์ผ ๋˜๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2016๋…„ 03์›” 22์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: dmlc/xgboost

์•ˆ๋…• ์—ฌ๋Ÿฌ๋ถ„,

๋‚ด window7-64๋น„ํŠธ ์‹œ์Šคํ…œ์— xgboost๋ฅผ ์„ค์น˜ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๊ฐ€ ๊ณ„์† ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฌด์—‡์„ ํ•ด์•ผ ํ• ์ง€ ํ™•์‹ ์ด ์„œ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
๋‚˜๋Š” ์Šค๋ ˆ๋“œ http://xgboost.readthedocs.org/en/latest/build.html๊ณผ ๋˜‘๊ฐ™์ด ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด mingw32-make.exe์˜ ์ด๋ฆ„๋„ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค. exe. TDM-GCC ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ „์ฒด ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

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

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋„์›€์„ ์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

@hx364
๋‚˜๋Š” ๊ทธ๊ฒƒ์ด openmp ์ง€์›์ด ์—†๋Š” TDM-GCC์˜ ๊ธฐ๋ณธ ์„ค์น˜ ๋•Œ๋ฌธ์ด๋ผ๋Š” ๊ฒƒ์„ ์•Œ์•˜๋‹ค. ๋”ฐ๋ผ์„œ TDM-GCC๋ฅผ ๋‹ค์‹œ ์„ค์น˜ํ•˜๊ณ  gcc ์˜ต์…˜์„ ํ™•์ธํ•˜๊ณ  ์•„๋ž˜์™€ ๊ฐ™์ด openmp ๋ฅผ ์„ ํƒํ–ˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๊ฒƒ์€ ๋‚ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.

blog-tdm-gcc-openmp

๋ชจ๋“  3 ๋Œ“๊ธ€

libgomp ๋Š” OpenMP ์ง€์›์— ํ•„์š”ํ•˜๋ฏ€๋กœ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ OpenMP๋ฅผ ์ž˜ ์ง€์›ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋น„์Šทํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

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

Windows x64์—์„œ TDM-GCC ์ปดํŒŒ์ผ๋Ÿฌ ์‚ฌ์šฉ

@hx364
๋‚˜๋Š” ๊ทธ๊ฒƒ์ด openmp ์ง€์›์ด ์—†๋Š” TDM-GCC์˜ ๊ธฐ๋ณธ ์„ค์น˜ ๋•Œ๋ฌธ์ด๋ผ๋Š” ๊ฒƒ์„ ์•Œ์•˜๋‹ค. ๋”ฐ๋ผ์„œ TDM-GCC๋ฅผ ๋‹ค์‹œ ์„ค์น˜ํ•˜๊ณ  gcc ์˜ต์…˜์„ ํ™•์ธํ•˜๊ณ  ์•„๋ž˜์™€ ๊ฐ™์ด openmp ๋ฅผ ์„ ํƒํ–ˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๊ฒƒ์€ ๋‚ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.

blog-tdm-gcc-openmp

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰