Como instalo uma versão superior do gcc, mas não como padrão?

0

Estou usando o Ubuntu 16.04 LTS onde o compilador C padrão é 'gcc (Ubuntu 5.4.0-6ubuntu1 ~ 16.04.5) 5.4.0 20160609'.

Normalmente, não atualizo meu compilador C a menos que e até que eu esteja atualizando o sistema operacional inteiro ou receba uma notificação para fazer isso por meio de atualizações de software.

No entanto, para o meu trabalho testando a distribuição principal do Perl 5, eu preciso ser capaz de avaliar os resultados do teste de fumaça de outros contribuidores, onde o compilador C é gcc-7.2. Por isso, eu gostaria de instalar o gcc-7.2, mas ele não deve se tornar meu compilador C padrão. Eu gostaria de usá-lo somente quando necessário para uma tarefa específica.

Em links como este:

Como faço para instalar o g ++ - 7 no Ubuntu

... Eu encontrei instruções para uma atualização direta para o gcc-7. * mas eu realmente não quero atualizar; Eu simplesmente quero uma instalação alternativa.

É possível fazer isso? Se sim, como?

Muito obrigado.

    
por James E Keenan 22.10.2017 / 00:59

1 resposta

0

A instalação de gcc-7 do toolchain-r PPA deve não afetar sua instalação padrão de gcc - ele instalará /usr/bin/gcc-7 e todos os arquivos de suporte, mas não vinculará simbolicamente /usr/bin/gcc para isso.

Por exemplo, dado

$ gcc --version
gcc (Ubuntu 5.4.1-2ubuntu1~16.04) 5.4.1 20160904
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ gcc-7 --version
No command 'gcc-7' found, did you mean:
 Command 'gcc-6' from package 'gccgo-6' (main)
 Command 'gcc-5' from package 'gcc-5' (main)
 Command 'gcc-5' from package 'hardening-wrapper' (universe)
gcc-7: command not found

Então

$ apt-cache policy gcc-7
gcc-7:
  Installed: (none)
  Candidate: 7.2.0-1ubuntu1~16.04
  Version table:
     7.2.0-1ubuntu1~16.04 500
        500 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial/main amd64 Packages

$ sudo apt install gcc-7

Resultados em

$ apt-cache policy gcc-7
gcc-7:
  Installed: 7.2.0-1ubuntu1~16.04
  Candidate: 7.2.0-1ubuntu1~16.04
  Version table:
 *** 7.2.0-1ubuntu1~16.04 500
        500 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial/main amd64 Packages
        100 /var/lib/dpkg/status

$ gcc-7 --version
gcc-7 (Ubuntu 7.2.0-1ubuntu1~16.04) 7.2.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

mas

$ gcc --version
gcc (Ubuntu 5.4.1-2ubuntu1~16.04) 5.4.1 20160904
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    
por steeldriver 22.10.2017 / 01:22