Como instalar o GCC no CentOS 6

O CentOS segue o desenvolvimento do Red Hat Enterprise Linux (RHEL). O RHEL se esforça para ser uma plataforma de servidor estável, o que significa que não se apressa em incluir as versões mais recentes de todos os pacotes de software.

No momento da redação deste artigo, o CentOS 6 distribui oficialmente o GCC v4.4.7. No entanto, o GCC v5.1 foi lançado recentemente. Antes disso, a v4.9.2 estava disponível.

A sugestão oficial para a necessidade de uma versão mais recente do GCC é que você deve considerar uma distribuição UNIX diferente, mais focada no suporte às versões mais recentes dos pacotes de software.

Felizmente, você pode instalar uma versão mais recente do GCC no CentOS, deixando a versão mais antiga ainda instalada. Isso se desvia do uso puramente do software distribuído oficialmente, mas às vezes você pode sentir que tem pouca escolha. Você pode ter algumas complicações; por exemplo, se você estiver instalando módulos de kernel de terceiros, eles deverão ser compilados usando a mesma versão do GCC usada para criar seu kernel.

Este artigo descreve como instalar a versão oficialmente suportada do CentOS 6 do GCC e como instalar uma versão mais recente. Este artigo pressupõe que você tenha um CentOS 6 VPS instalado recentemente, embora certamente você possa seguir as instruções em um VPS existente.

Instale uma versão (mais antiga) oficialmente suportada do GCC

Mesmo se você quiser instalar uma versão mais recente do GCC a partir da fonte, o próprio GCC será gravado em C ++. Portanto, primeiro você precisa instalar um compilador C ++ mais antigo.

  1. Entre no seu VPS, clicando em "Exibir console" no painel de controle do Vultr ou no SSH, se você configurou isso.

    (a) Faça login como root.

    (b) Crie sua própria conta de usuário e atribua uma senha.

    adduser <username>
    passwd <username>
    

    (c) Permita que sua conta de usuário execute comandos com privilégios de root, através do comando sudo.

    visudo
        After the line "root   ALL=(ALL)   ALL"
        Add the line "<username>   ALL=(ALL)   ALL"
        --- If you aren't familiar with vi, go to the line "root   ALL=(ALL)   ALL".
        ---   Hit "o" to create a new line after that line and enter insert mode.
        ---   Type "<username>   ALL=(ALL)   ALL".
        ---   Hit ESC.
        ---   Type "ZZ" to save.
    

    (d) Faça logout como root e faça login na sua conta de usuário.

  2. Instale os pacotes do CentOS 6 GCC. Isso perguntará se você deseja instalar cerca de 11 pacotes, devido a dependências.

    sudo yum install gcc gcc-c++
    
  3. Verifique as versões instaladas e mostre seus locais.

    gcc --version
        May say: gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)
    g++ --version
        May say: g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)
    which gcc
        /usr/bin/gcc
    which g++
        /usr/bin/g++
    

Instale uma versão mais recente do GCC a partir da origem

Se você deseja apenas a versão do GCC com suporte oficial do CentOS, está tudo pronto. Se você precisar de uma versão mais recente do GCC, continue.

  1. IMPORTANTE! Primeiro, conclua as etapas acima para instalar uma versão binária mais antiga do GCC.

  2. Instale pacotes adicionais necessários. Isso perguntará se você deseja instalar cerca de 41 pacotes.

    sudo yum install svn texinfo-tex flex zip libgcc.i686 glibc-devel.i686
    
  3. Decida qual versão do GCC você deseja instalar. Este comando mostra as "tags" para cada uma das versões disponíveis.

    svn ls svn://gcc.gnu.org/svn/gcc/tags | grep gcc | grep release
        gcc-2_95-release/
        ...
        gcc-4_9_2_release/
        gcc-5_1_0_release/
    
  4. Obtenha a fonte da versão do GCC que você deseja. Isso durará alguns minutos. O restante deste artigo foi escrito gcc-5_1_0_release/e fará o download das fontes ~/sourceInstallations/gcc_5_1_0_release/.

    mkdir ~/sourceInstallations
    cd ~/sourceInstallations
    svn co svn://gcc.gnu.org/svn/gcc/tags/gcc_5_1_0_release/
    
  5. Obtenha a fonte de pré-requisitos adicionais. Usando a v5.1.0, isso baixa fontes e as adiciona à compilação do GCC para MPFR v2.4.2, GMP 4.3.2 e MPC 0.8.1.

    cd gcc_5_1_0_release/
    ./contrib/download_prerequisites
        --- Important, run this as shown, from the gcc_5_1_0_release directory.
        ---   Do not cd to the contrib directory
    
  6. Se o seu VPS tiver apenas 768 MB de memória, você ficará sem memória na próxima etapa. Se você tiver 1 GB de memória, poderá estar bem, mas não será necessário fazer essa etapa. Se você tiver 2 GB de memória ou mais, poderá pular esta etapa. Esta etapa adiciona 500 MB de memória virtual, usando um arquivo de troca.

    SWAP=/tmp/swap
    dd if=/dev/zero of=$SWAP bs=1M count=500
    mkswap $SWAP
    sudo swapon $SWAP
    
  7. Crie o GCC. Isso funcionará por horas. Se isso for concluído corretamente, a última linha que você verá dirá "sucesso". É normal ver algumas mensagens com aparência de erro rolando rapidamente, desde que a compilação seja concluída e faça eco ao "sucesso". É sempre uma boa ideia criar coisas em um diretório diferente do diretório de origem. A documentação do GCC afirma que você não deve usar um diretório de compilação que seja um subdiretório do diretório de origem.

    cd ..
    mkdir gcc_5_1_0_release_build/
    cd gcc_5_1_0_release_build/
    ../gcc_5_1_0_release/configure && make && sudo make install && echo "success"
    --- If your VPS has multiple cores, you can speed up the build by changing the middle part
    ---   of this line from "&& make &&" to "&& make -j <number of cores> &&".
    --- You can see the number of cores your VPS has by running "nproc"
    
  8. Se você configurar um arquivo de troca na etapa 6, remova-o. Sem fazer mais configurações, após uma reinicialização, ele não será usado como um arquivo de troca e apenas ocupará espaço no disco rígido do seu VPS.

    sudo swapoff $SWAP
    rm /tmp/swap
    
  9. Verifique as versões instaladas e veja seus locais.

    hash -r
        (Makes your login "forget" about the previously seen locations of gcc and g++)
    gcc --version
        May say: gcc (GCC) 5.1.0
    g++ --version
        May say: g++ (GCC) 5.1.0
    which gcc
        /usr/local/bin/gcc
    which g++
        /usr/local/bin/g++
    
  10. Adicione as novas bibliotecas ao ld (o vinculador GNU).

    echo "/usr/local/lib64" > usrLocalLib64.conf
    sudo mv usrLocalLib64.conf /etc/ld.so.conf.d/
    sudo ldconfig
        --- This may say a file or two "is not an ELF file - it has the wrong magic bytes at the start."
        --- You may ignore this message.  It is silent about the work it successfully completed.
    
  11. Opcionalmente, faça um programa olá mundo.

    mkdir ~/code
    cd ~/code
    Create a file main.cpp that says:
        #include <iostream>
        using namespace std;
        int main() {
            cout << "Hello world!" << endl;
            return 0;
        }
    --- One way to create this file is to run "vi main.cpp", hitting "i" to enter insert mode,
    ---   typing the above file, hitting ESC, and hitting "ZZ" to save.
    g++ main.cpp -o main
    ./main
        Hello World!
    
  12. Recupere opcionalmente o espaço no disco rígido. Sua ~/sourceInstallationspasta ocupará cerca de 8,0 GB. Provavelmente, é aconselhável manter as pastas, pois há opções de configuração opcionais que você pode precisar usar em algum momento no futuro, e seria mais rápido ter muito já feito. Além disso, o processo de compilação cria logs dos quais você pode verificar e trabalhar posteriormente se algo der errado. Mas, após a execução sudo make installanterior, o GCC instalado não depende de nada neste diretório, e o espaço pode ser muito alto. Portanto, você pode executar esta etapa e recuperar os 8,0 GB ou mais.

    cd ~/
    rm -rf sourceInstallations
    --- Again, if you can spare the space, you may someday be happy to have left it there.
    

Agora você tem seu CentOS oficialmente suportado gcce g++ainda está dentro /usr/bin/, seu CentOS oficialmente suportado libs de 32 bits /lib, seu CentOS oficialmente suportado libs de 64 bits /lib64e seu CentOS oficialmente suportado inclui arquivos /usr/include.

Seus mais recentes gcce g++estão em /usr/local/binlibs, mais recente 32-bit em /usr/local/lib, as suas bibliotecas de 64 bits mais recentes em /usr/local/lib64, e seu mais recente incluem arquivos /usr/local/include.



Leave a Comment

Configure sua própria rede privada com o OpenVPN

Configure sua própria rede privada com o OpenVPN

O Vultr oferece uma incrível conectividade de rede privada para servidores executando no mesmo local. Mas às vezes você quer dois servidores em países diferentes

Como instalar e configurar o CyberPanel no servidor CentOS 7

Como instalar e configurar o CyberPanel no servidor CentOS 7

Usando um sistema diferente? Introdução O CyberPanel é um dos primeiros painéis de controle do mercado, tanto de código aberto quanto de OpenLiteSpeed. What thi

Instale o eSpeak no CentOS 7

Instale o eSpeak no CentOS 7

Usando um sistema diferente? O ESpeak pode gerar arquivos de áudio de conversão de texto em fala (TTS). Isso pode ser útil por vários motivos, como criar seu próprio Turim

Monitore seus dispositivos usando o LibreNMS no CentOS 7

Monitore seus dispositivos usando o LibreNMS no CentOS 7

Usando um sistema diferente? O LibreNMS é um sistema de monitoramento de rede de código aberto completo. Ele usa o SNMP para obter os dados de diferentes dispositivos. Uma variedade

Como usar o Sudo no Debian, CentOS e FreeBSD

Como usar o Sudo no Debian, CentOS e FreeBSD

Usar um usuário sudo para acessar um servidor e executar comandos no nível raiz é uma prática muito comum entre o Linux e o Unix Systems Administrator. O uso de um sud

Como instalar o RabbitMQ no CentOS 7

Como instalar o RabbitMQ no CentOS 7

Usando um sistema diferente? O RabbitMQ é um intermediário de mensagens de código aberto amplamente usado, escrito na linguagem de programação Erlang. Como um middleware orientado a mensagens

Configurar o Nginx-RTMP no CentOS 7

Configurar o Nginx-RTMP no CentOS 7

Usando um sistema diferente? O RTMP é ótimo para veicular conteúdo ao vivo. Quando o RTMP é emparelhado com o FFmpeg, os fluxos podem ser convertidos em várias qualidades. Vultr i

Como instalar o Gradle no CentOS 7

Como instalar o Gradle no CentOS 7

Usando um sistema diferente? Gradle é um conjunto de ferramentas de automação de compilação de código aberto e gratuito baseado nos conceitos do Apache Ant e Apache Maven. Gradle fornece

Instale um servidor FTP com ProFTPd no CentOS 6 ou CentOS 7

Instale um servidor FTP com ProFTPd no CentOS 6 ou CentOS 7

Usando um sistema diferente? Neste guia, veremos como configurar um servidor FTP (ProFTPd) para transferir arquivos entre o seu PC e o seu servidor.

Instalando o Netdata no CentOS 7

Instalando o Netdata no CentOS 7

Usando um sistema diferente? O Netdata é uma estrela em ascensão no campo do monitoramento de métricas do sistema em tempo real. Comparado com outras ferramentas do mesmo tipo, o Netdata:

Como instalar o Apache Cassandra 3.11.x no CentOS 7

Como instalar o Apache Cassandra 3.11.x no CentOS 7

Usando um sistema diferente? O Apache Cassandra é um sistema de gerenciamento de banco de dados NoSQL gratuito e de código aberto, projetado para fornecer escalabilidade, alta

Como instalar um servidor Just Cause 2 (JC2-MP) no CentOS 7

Como instalar um servidor Just Cause 2 (JC2-MP) no CentOS 7

Neste tutorial, aprenda como configurar um servidor multiplayer Just Cause 2. Pré-requisitos Verifique se o sistema está totalmente atualizado antes de começarmos

Como instalar o servidor Starbound no CentOS 7

Como instalar o servidor Starbound no CentOS 7

Usando um sistema diferente? Neste tutorial, explicarei como configurar um servidor Starbound no CentOS 7. Pré-requisitos Você precisa ser o proprietário deste jogo

Instalando e configurando o ZNC no CentOS 7

Instalando e configurando o ZNC no CentOS 7

O ZNC é um segurança IRC gratuito e de código aberto que permanece permanentemente conectado a uma rede para que os clientes possam receber mensagens enviadas enquanto estiverem offline. Thi

Como instalar o Django no CentOS 7

Como instalar o Django no CentOS 7

O Django é uma estrutura Python popular para escrever aplicativos da web. Com o Django, você pode criar aplicativos mais rapidamente, sem reinventar a roda. Se você quiser você

Como instalar o CMS de outubro no CentOS 7

Como instalar o CMS de outubro no CentOS 7

Outubro é um sistema de gerenciamento de conteúdo de código aberto baseado no Laravel PHP Framework. Com uma interface elegante e uma arquitetura modular concisa

Como configurar a autenticação de dois fatores (2FA) para SSH no CentOS 6 usando o Google Authenticator

Como configurar a autenticação de dois fatores (2FA) para SSH no CentOS 6 usando o Google Authenticator

Após alterar a porta SSH, configurar a batida na porta e fazer outros ajustes para a segurança SSH, talvez haja mais uma maneira de protegê-lo

Como instalar o MyCLI no Linux (CentOS, Debian, Fedora e Ubuntu)

Como instalar o MyCLI no Linux (CentOS, Debian, Fedora e Ubuntu)

Introdução O MyCLI é um cliente de linha de comando para MySQL e MariaDB que permite concluir automaticamente e ajuda na sintaxe de seus comandos SQL. MyCL

Como instalar o Directus 6.4 CMS em um CentOS 7 LAMP VPS

Como instalar o Directus 6.4 CMS em um CentOS 7 LAMP VPS

Usando um sistema diferente? O Directus 6.4 CMS é um sistema de gerenciamento de conteúdo sem cabeça (CMS) poderoso e flexível, gratuito e de código aberto que fornece

Como instalar o Reader Self 3.5 RSS Reader em um CentOS 7 LAMP VPS

Como instalar o Reader Self 3.5 RSS Reader em um CentOS 7 LAMP VPS

Usando um sistema diferente? O Reader Self 3.5 é um leitor de RSS auto-hospedado, simples e flexível, gratuito e de código aberto, e uma alternativa ao Google Reader. Leitor Sel

A IA pode lutar contra o aumento do número de ataques de ransomware

A IA pode lutar contra o aumento do número de ataques de ransomware

Os ataques de ransomware estão aumentando, mas a IA pode ajudar a lidar com os vírus de computador mais recentes? AI é a resposta? Leia aqui para saber se é AI boone ou bane

ReactOS: Este é o futuro do Windows?

ReactOS: Este é o futuro do Windows?

ReactOS, um sistema operacional de código aberto e gratuito está aqui com a versão mais recente. Será que ela pode atender às necessidades dos usuários modernos do Windows e derrubar a Microsoft? Vamos descobrir mais sobre esse estilo antigo, mas uma experiência de sistema operacional mais recente.

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

O Whatsapp finalmente lançou o aplicativo Desktop para usuários de Mac e Windows. Agora você pode acessar o Whatsapp do Windows ou Mac facilmente. Disponível para Windows 8+ e Mac OS 10.9+

Como a IA pode levar a automação de processos ao próximo nível?

Como a IA pode levar a automação de processos ao próximo nível?

Leia isto para saber como a Inteligência Artificial está se tornando popular entre as empresas de pequena escala e como está aumentando as probabilidades de fazê-las crescer e dar vantagem a seus concorrentes.

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

Recentemente, a Apple lançou o macOS Catalina 10.15.4, uma atualização suplementar para corrigir problemas, mas parece que a atualização está causando mais problemas, levando ao bloqueio de máquinas mac. Leia este artigo para saber mais

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

O que é um sistema de arquivos de registro no diário e como ele funciona?

O que é um sistema de arquivos de registro no diário e como ele funciona?

Nosso computador armazena todos os dados de uma maneira organizada conhecida como sistema de arquivos Journaling. É um método eficiente que permite ao computador pesquisar e exibir arquivos assim que você clicar em search.https: //wethegeek.com/? P = 94116 & preview = true

Singularidade tecnológica: um futuro distante da civilização humana?

Singularidade tecnológica: um futuro distante da civilização humana?

À medida que a ciência evolui em um ritmo rápido, assumindo muitos de nossos esforços, os riscos de nos sujeitarmos a uma singularidade inexplicável também aumentam. Leia, o que a singularidade pode significar para nós.

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

O impacto da inteligência artificial na saúde 2021

O impacto da inteligência artificial na saúde 2021

A IA na área da saúde deu grandes saltos nas últimas décadas. Portanto, o futuro da IA ​​na área da saúde ainda está crescendo dia a dia.