Я пытаюсь запустить новейшую версию узла (на данный момент 12.1.0) на CentOS 6.10.Это проблема, потому что стандартные двоичные файлы CentOS устарели;Например:
./node: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by ./node)
(a number of other references like this also appear)
, когда я пытаюсь установить и запустить двоичные файлы, а инструменты g ++ / c ++ устарели.Но я решил попробовать скомпилировать из исходного кода, если смогу правильно выровнять инструменты.
Я получил обновленную версию инструментов компилятора от devtools в CERN (http://linux.web.cern.ch/linux/devtoolset), иПо-видимому, они установлены правильно. Из разных мест в Интернете я получил то, что мне нужно экспортировать указатели в эти новые библиотеки перед выполнением настройки, например:
export CC=/opt/rh/devtoolset-2/root/usr/bin/gcc
export CPP=/opt/rh/devtoolset-2/root/usr/bin/cpp
export CXX=/opt/rh/devtoolset-2/root/usr/bin/c++
У них есть обновленные идостаточно современные версии, например,
/opt/rh/devtoolset-2/root/usr/bin/c++ --version
c++ (GCC) 4.8.2 20140120 (Red Hat 4.8.2-15)
Но, похоже, они не входят в процесс настройки:
[root@linux2 node-v12.1.0]# ./configure --prefix=/opt/node-12.1.0
WARNING: C++ compiler too old, need g++ 6.3.0 or clang++ 8.0.0 (CXX=/opt/rh/devtoolset-2/root/usr/bin/c++)
INFO: Using floating patch "tools/icu/patches/64/source/common/putil.cpp" from "tools/icu"
INFO: Using floating patch "tools/icu/patches/64/source/i18n/dtptngen.cpp" from "tools/icu"
WARNING: warnings were emitted in the configure phase
INFO: configure completed successfully
Когда я скрещиваю пальцы и все равно пытаюсь make
Я получаю целую кучу результатов компиляции, а затем кучу ошибок, опущенных здесь (на данный момент) для краткости.
В любом случае: это просто не работает. Может кто-нибудь увидеть, что здесь происходит, и как я могувсе правильно? Спасибо!