Ошибка C ++ 14 при установке (centos) - PullRequest
0 голосов
/ 30 ноября 2018

при установке rstan появляется следующая ошибка:

Error in .shlib_internal(args) :
C++14 standard requested but CXX14 is not defined

из исследования стало известно, что должен быть доступен компилятор C ++ 14.Как установить то же самое при настройке R. Используя приведенную ниже команду для настройки R

./configure --with-readline=no --with-x=no

и установки

yum install -y devtoolset-6

, но все еще не в состоянии обновить C ++ 14, и rstan даетошибка

Default C++ compiler:      g++   -g -O2
C++98 compiler:            g++  -g -O2
C++11 compiler:            g++ -std=gnu++11 -g -O2
C++14 compiler:            g++   -g -O2  
C++17 compiler:              
Fortran 90/95 compiler:    gfortran -g -O2
Obj-C compiler: 

setup.sh

 yum -y update
 yum install -y centos-release-scl
 yum install -y devtoolset-6
 yum install -y devtoolset-6-gcc-gfortran
 scl enable devtoolset-6 bash
 scl enable devtoolset-6-gcc-gfortran bash
 mkdir packages
 cd packages
 wget -qO- 
 https://downloads.sourceforge.net/project/libpng/zlib/1.2.8/zlib- 
 1.2.8.tar.gz | tar zvx
 cd zlib-1.2.8
 ./configure
 make
 make install
 cd ..
 wget -qO- http://downloads.sourceforge.net/pcre/pcre-8.35.tar.gz | 
 tar xzv
 cd pcre-8.35
 ./configure
 make
 make install
 cd ..
 wget -qO- http://tukaani.org/xz/xz-5.2.2.tar.gz | tar xzv
 cd xz-5.2.2
 ./configure
 make
 make install
 cd ..
 wget -qO- https://curl.haxx.se/download/curl-7.47.1.tar.gz | tar xzv
 cd curl-7.47.1
 ./configure
 make
 make install
 cd ..


 wget -qO- https://cran.r-project.org/src/base/R-3/R-3.4.4.tar.gz | 
 tar xzv
 cd R-3.4.4
 ./configure --with-readline=no --with-x=no --prefix=/packages/R-3.4.4 
 F77=gfortran
 make
 make install

Ответы [ 3 ]

0 голосов
/ 05 декабря 2018

сделал следующие изменения и теперь работает нормально.Нужно определить gcc PATH и использовать yum install -y devtoolset-6 для R-3.4.4.Спасибо за помощь

yum install -y centos-release-scl
yum install -y devtoolset-6
yum install -y bzip2-devel
source scl_source enable devtoolset-6

also added the Path to gcc in build.sh 

export PATH=/opt/rh/devtoolset-6/root/bin:$PATH
0 голосов
/ 13 марта 2019

Вот что у меня сработало:

CXX_STD = CXX14

CXX14 = g ++ -std = c ++ 11

CXX14FLAGS = -O3 -fPIC -Wno-неиспользуемая переменная -Wno-unused-function -DBOOST_PHOENIX_NO_VARIADIC_EXPRESSION

0 голосов
/ 30 ноября 2018

Вам не нужно перекомпилировать R, но вам нужно по крайней мере g ++ - 4.9 (или clang ++ - 3.4) и определить CXX14 = g++ в вашем файле конфигурации ~ / .R / Makevars.Кроме того, вам обычно требуется CXX14FLAGS = -fPIC, и рекомендуется иметь CXX14FLAGS = -O3 -mtune = native -march = native -fPIC.Для всего этого есть вики страница .

...