No centos, como alternar para o padrão gcc depois de alternar para uma versão superior do gcc com devtoolset

0

Quero instalar vários gcc com versões diferentes no centos. A versão padrão do gcc no centos 6 é 4.9.3. Então, eu uso o devtoolset para instalar uma versão superior do gcc. Então eu mudo para a versão superior do gcc executando "source / opt / rh / devtoolset-5 / enable". Mas agora, se eu quiser voltar ao gcc padrão, como devo fazer? A propósito, existe alguma solução para instalar vários gcc com versões diferentes no centos 5?

yifan
fonte

Respostas:

1

A versão gccdistribuída CentOS 6é na verdade 4.4.7.

Você pode instalar tantas versões gccinstalando devtoolset-#via yumou compilando a partir do código-fonte.

A primeira maneira é a mais fácil. Certifique-se de instalar os devtoolsetpacotes através do scl repo. Eu acho que você já fez como instalou um, mas caso não o tenha:

yum install centos-release-scl

Você pode usar o comando abaixo para definir o gcc versionque desejar. Usando 5 para este exemplo e assumindo que seu shell seja bash:

scl enable devtoolset-5 bash

Se você deseja alterar para 6:

scl enable devtoolset-6 bash

Se você deseja voltar ao padrão, qualquer uma das seguintes opções funcionará assumindo que bashé seu shell:

bash

source ~/.bash_profile

O primeiro iniciará uma nova sessão de shell e definirá aliases / variáveis ​​/ comandos ~/.bashrc. O segundo o definirá com as variáveis ​​/ comandos em ~/.bash_profile. (Sem o devtoolset ativado).

Você pode até colocar scl enable devtoolset-5 bash, por exemplo, em ~/.bashrcou ~/.bash_profilepara que defina a gccversão para uma das devtoolsetversões no login. Para voltar ao padrão do sistema, se você usar esse método, comente a linha ~/.bashrcou, em ~/.bash_profileseguida, execute bashou source ~/.bash_profile, respectivamente. Isso iniciará uma nova sessão do shell com tudo em um desses arquivos de inicialização do shell, exceto o scl enablecomando que você comentou. A única desvantagem é que quaisquer variáveis ​​que você definiu por meio do exportcomando não estarão mais lá, pois a sessão do shell será nova.

Nasir Riley
fonte
-1

Provavelmente é apenas uma questão de alterar algumas variáveis ​​de ambiente, como PATH. Qual é o tamanho desse /opt/rh/devtoolset-5/enablearquivo? Você pode ver, ver o que faz e adaptá-lo ao compilador mais antigo que deseja usar? As coisas óbvias a serem procuradas seriam os nomes dos diretórios em que os arquivos do novo compilador estão instalados (altere-os para os nomes de caminho correspondentes do compilador antigo) e o número da versão. Não sei o que mais provavelmente estará lá.

Scott
fonte
Atualizei a resposta com alguns pensamentos bastante óbvios. Se você não conseguir ver o que precisa ser alterado, provavelmente não poderei fazer muito melhor. Eu nunca ouvi falar de devtoolset; pode ser necessário aguardar a resposta de um especialista nesse produto.
Scott