Благодаря hcho3 (https://github.com/dmlc/xgboost/issues/2503)
mkdir build
cd build
cmake .. -DCMAKE_C_COMPILER=gcc-7 -DCMAKE_CXX_COMPILER=g++-7 -DR_LIB=ON
make
make install
Последняя установка make может завершиться неудачно. Если это произойдет, запустите
# still inside build/
cd R-package
mv src/libxgboost.dylib src/xgboost.so # in my case 'mv src/xgboost.dylib src/xgboost.so'
R CMD INSTALL .
Его объяснение:
До сих пор у меня не было большого успеха в модификации Makevars, так как она перезаписывается скриптом configure в R-package. Когда дело доходит до применения пользовательских параметров сборки, в IMO гораздо проще использовать CMake, который будет генерировать файлы конфигурации и другие файлы сборки в пакете R (следовательно, каталог R-пакета генерируется под сборкой /). Единственный недостаток, который я видел до сих пор с CMake он генерирует общую библиотеку с именем libxgboost.dylib, тогда как R ожидает xgboost.so