Скомпилируйте Узел с GCC v4.9.2

Я, может казаться, не могу скомпилировать Node.js на CentOS 6.6 (64 бита) GCC v4.9.2

$ ./configure
Node.js configure error: No acceptable C compiler found!

        Please make sure you have a C compiler installed on your system and/or
        consider adjusting the CC environment variable if you installed
        it in a non-standard prefix.

Подробнее:

$ which gcc
/usr/bin/gcc

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/gcc/libexec/gcc/x86_64-unknown-linux-gnu/4.9.2/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-current/configure --enable-languages=c,c++,fortran --enable-multilib --prefix=/usr/local/gcc
Thread model: posix
gcc version 4.9.2 (GCC)

$ which python
/usr/bin/python

$ python --version
Python 2.6.6

Я попытался установить CC..

$ CC="/usr/local/gcc/bin/gcc"

$ set | grep CC
CC=/usr/local/gcc/bin/gcc

но это приводит к той же ошибке.

Какие-либо идеи?


Редактирование 1 - вопрос Michael

Что произошло с компилятором, который придумала система?

Я установил более новую версию компилятора (v4.9.2) в /usr/local/gcc, и удаленный исходный компилятор (v4.4.7) и попробованный для замены его тот путь:

yum remove -y gcc gcc-c++ cpp

sudo mv /usr/bin/g++  /usr/bin/g++_old
sudo mv /usr/bin/c++ /usr/bin/c++_old

sudo ln -s -f /usr/local/gcc/bin/gcc  /usr/bin/gcc
sudo ln -s -f /usr/local/gcc/bin/g++  /usr/bin/g++
sudo ln -s -f /usr/local/gcc/bin/c++ /usr/bin/c++
sudo ln -s -f /usr/local/gcc/bin/cpp /usr/bin/cpp
sudo ln -s -f /usr/local/gcc/bin/gfortran /usr/bin/gfortran
sudo ln -s -f /usr/local/gcc/bin/gcov /usr/bin/gcov

sudo cp /usr/local/gcc/lib64/libstdc++.so.6.0.20 /usr/lib64/.
sudo mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.bak
sudo ln -s -f /usr/lib64/libstdc++.so.6.0.20 /usr/lib64/libstdc++.so.6

Я делаю это, потому что я устанавливаю HHVM в этой системе, которой нужен недавний компилятор.

0
задан 25 August 2015 в 02:43
1 ответ

Эта настройка компилятора может работать для hhvm, но бесполезна ни для чего другого. Довольно сложно иметь две версии gcc в одной системе. Вы можете сделать что-то вроде использования коллекции программного обеспечения, но мне лично они не нравятся, поскольку они не очень просты в использовании.

В любом случае вы должны использовать CentOS 7 , поскольку это не потребует от вас замены компилятора, и многие вещи будут актуальными. В целом, создание системы на базе C7 в любом случае решит все ваши проблемы и будет более надежным в будущем.

1
ответ дан 4 December 2019 в 16:50

Теги

Похожие вопросы