我似乎无法在CentOS 6.6(64位)GCC v4.9.2上编译Node.js
$ ./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
但它导致相同的错误。
有任何想法吗?
系统提出的编译器发生了什么事?
我在/usr/local/gcc安装了较新版本的编译器(v4.9.2),并删除了原来的编译器(v4.4.7),并试图用这种方式replace它:
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 。
该编译器设置可能适用于hhvm,但对其他任何东西都没用。 在同一个系统上有两个gcc版本是相当困难的。 你可以做一些像使用软件集合的东西,但我个人不喜欢那些,因为它们不是很容易使用。
无论如何,你应该使用CentOS 7 ,因为它不会要求你replace编译器,更多的东西将是最新的。 总的来说,基于C7的系统几乎可以解决你所有的问题,并且更有前途的certificate。