Назад | Перейти на главную страницу

Компиляция node-5.1.0 в CentOS 6.7 не имеет g ++ 4.8+

Я пытаюсь скомпилировать узел-5.1.0 в CentOS 6.7, но просит g ++ 4.8 или выше.

[root@ws node-v5.1.0]# ./configure
WARNING: C++ compiler too old, need g++ 4.8 or clang++ 3.4 (CXX=g++)
...

Сначала я установил «Инструменты разработки»:

[root@ws node-v5.1.0]# yum groupinstall 'Development Tools'

После проверки g++ версия:

[root@ws node-v5.1.0]# g++ -v
...
gcc version 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC) 

Хотя этой версии недостаточно, я провел небольшое исследование и нашел возможно способ установки / обновления g++. я нашел этот и я следил за каждым шагом:

[root@ws node-v5.1.0]# wget http://people.centos.org/tru/devtools-2/devtools-2.repo -O /etc/yum.repos.d/devtools-2.repo

[root@ws node-v5.1.0]# yum install devtoolset-2-gcc devtoolset-2-binutils

[root@ws node-v5.1.0]# /opt/rh/devtoolset-2/root/usr/bin/gcc --version
gcc (GCC) 4.8.2 20140120 (Red Hat 4.8.2-15
...

Я снова попробовал ту же команду для компиляции NodeJS:

[root@ws node-v5.1.0]# ./configure
WARNING: C++ compiler too old, need g++ 4.8 or clang++ 3.4 (CXX=g++)

Но, как видите, у меня такая же ошибка в отношении версии g ++, которая заставляет меня спросить:

Примечание: под версией я подразумеваю ту, что на /opt/rh/devtoolset-2/root/usr/bin/gcc если это совершенно безопасно, перейти на тот

Обновить

После публикации вопроса я нашел этот и выполните те же действия:

[root@ws node-v5.1.0]# export CC=/opt/rh/devtoolset-2/root/usr/bin/gcc
[root@ws node-v5.1.0]# export CPP=/opt/rh/devtoolset-2/root/usr/bin/cpp
[root@ws node-v5.1.0]# export CXX=/opt/rh/devtoolset-2/root/usr/bin/c++

Но результат тот же:

[root@ws node-v5.1.0]# ./configure
WARNING: C++ compiler too old, need g++ 4.8 or clang++ 3.4 (CXX=g++)

Импортируйте ключ GPG CERN:

sudo rpm --import http://ftp.scientificlinux.org/linux/scientific/5x/x86_64/RPM-GPG-KEYs/RPM-GPG-KEY-cern

Сохранить информацию о репозитории как /etc/yum.repos.d/slc6-devtoolset.repo в вашей системе:

wget -O /etc/yum.repos.d/slc6-devtoolset.repo http://linuxsoft.cern.ch/cern/devtoolset/slc6-devtoolset.repo Установить:

sudo yum install devtoolset-2

Включите среду:

scl enable devtoolset-2 bash

Протестируйте среду:

$ gcc --version gcc (GCC) 4.8.2 20140120 (Red Hat 4.8.2-15) ...

$ g++ --version g++ (GCC) 4.8.2 20140120 (Red Hat 4.8.2-15) ...

Извлечено из этого суть.

  • обновить dev3 и включить -scl включить devtoolset-3 bash -./configure
  • убедитесь, что из nodjs dir