English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
从进入码农时代已经有好几年了,一直没有写博文的习惯,用到的很多东西没有记录,到后面就忘了,需要用时,又不停上百度google一下,费时间又费精力,还不一定能找到满意的答案,因此开个博客记录下。(废话不多说了)
今天在公司服务器上源码安装Nodejs报错 WARNING: C++ compiler too old, need g++ 4.8 or clang++ 3.4 (CXX=g++),直接yum update gcc不能升级到4.8,然后只能手动处理了。
开始,如果linux安装了wget命令:
wget http://ftp.gnu.org/gnu/gcc/gcc-6.1.0/gcc-6.1.0.tar.gz tar -zvxf gcc-6.1.0.tar.gz --directory=/usr/local/ cd /usr/local/gcc-6.1.0 ./contrib/download_prerequisites mkdir build && cd build ../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib make && make install
如果是在虚拟机上安装,可能需要3-4个小时,耐心等待吧,少年。。。
如果如果,如果你的linux很不辛,没有安装wget命令,或者不能访问外网,怎么办???继续往下看:
先下载好最新的gcc(http://ftp.gnu.org/gnu/gcc/),我用的gcc-6.1.0.tar.gz, através do ftp, carregue para o Linux e extraia:
tar -zvxf gcc-6.1.0.tar.gz --directory=/usr/local/ cd /usr/local/gcc-6.1.0
Abra o ./contrib/arquivo download_prerequisites, verifique quais pacotes dependentes o gcc que você baixou precisa. Após abrir, você verá o seguinte conteúdo:
Portanto, precisamos baixar o gmp-4.3.2.tar.bz2、isl-0.15.tar.bz2、mpc-0.8.1.tar.gz、mpfr-2.4.2.tar.bz2,atenção, o pacote dependente deve ser da versão especificada, caso contrário, pode ocorrer problemas. Após baixar os pacotes dependentes, extraia diretamente para/usr/local/gcc-6.1.0/ catálogo, em seguida, configure o link simbólico:
ln -sf gmp-4.3.2 gmp ln -sf isl-0.15 isl ln -sf mpc-0.8.1 mpc ln -sf mpfr-2.4.2 mpfr
Depois de configurar, você pode começar a instalar:
mkdir build && cd build ../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib make && make install
O que foi mencionado acima é o que o editor apresentou para você no CentOS do Linux 6.5 Manualmente atualizar o gcc para gcc-6.1.0, esperando que ajude a todos. Se você tiver alguma dúvida, por favor, deixe um comentário, o editor responderá a todos a tempo. Agradecemos também o apoio da comunidade ao site Tutorial de Grito!
Declaração: O conteúdo deste artigo é de propriedade da Internet, pertence ao respectivo proprietário, foi contribuído voluntariamente pelos usuários da Internet, este site não possui direitos de propriedade, não foi editado manualmente e não assume responsabilidades legais relevantes. Se você encontrar conteúdo suspeito de violação de direitos autorais, por favor, envie um e-mail para: notice#w3Avisos: O conteúdo deste artigo foi extraído da Internet, pertence ao respectivo proprietário, foi carregado voluntariamente pelos usuários da Internet, este site não possui direitos de propriedade, não foi editado manualmente e não assume responsabilidades legais relevantes. Se você encontrar conteúdo suspeito de violação de direitos autorais, por favor, envie um e-mail para: notice#w