我正在尝试让最新版本的node (目前是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++工具已经过时了。但我已经决定尝试从源代码进行编译,如果我能正确调整工具的话。
我已经从CERN devtools (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时,我得到了一大堆编译结果,然后是一堆错误,为了简短起见,这里(暂时)省略了这些错误。
不管怎么说:它就是不起作用。有没有人知道这里发生了什么,以及我如何才能把事情做好?谢谢!
发布于 2019-05-03 03:45:03
你需要一个更新的开发工具集,6或7而不是2。This link应该会有帮助。按照它的建议使用scl,而不是自己设置env变量。
https://stackoverflow.com/questions/55930010
复制相似问题