Homebrew: ¿cómo cambiar entre las versiones de GCC 'gcc49' y 'gcc'?

3

Tonto que desinstalé GCC 4.9 después de brew upgrade ing a GCC 5. Sin embargo, necesito ambas versiones y necesito poder cambiar de un lado a otro. Pensé que solo podía hacer brew switch 4.9.2 pero la versión anterior de GCC se instaló en la carpeta Cellar/gcc49/4.9.2 en lugar de Cellar/gcc/4.9.2 , por lo que Homebrew no sabe dónde encontrar la versión anterior.

¿Cómo puedo forzar a Homebrew a instalar ambas versiones en Cellar/gcc ?

Es decir, tengo:

brew list --versions gcc
# gcc 5.1.0
brew list --versions gcc49
# gcc49 4.9.2_1

Pero me gustaría tener:

brew list --versions gcc
# gcc 5.1.0 4.9.2_1
    
pregunta shadowtalker 09.06.2015 - 01:41

2 respuestas

3

No puedes, esas son fórmulas diferentes, y Homebrew no te permite instalar una versión anterior de una fórmula.

La solución es eliminar gcc , luego volver al historial de Homebrew (recuerda que es un repositorio Git), obtener la fórmula gcc tal como era antes de la actualización 5.1.0, instalarlo y luego actualizar gcc para obtener la última versión.

La actualización de 5.1.0 gcc se realizó en Homebrew commit 9cf3d4da1148c0a0d2f42c2fbe75f9a557339bab :

$ cd $(brew --prefix)
$ git show -s 9cf3d4da1148c0a0d2f42c2fbe75f9a557339bab
commit 9cf3d4da1148c0a0d2f42c2fbe75f9a557339bab
Author: David Christenson <[email protected]>
Date:   Sat May 2 18:58:17 2015 -0600

    gcc 5.1.0

    Update to latest stable release, add option and patch for JIT, remove CLooG dependency,
    refactor language selection, add HEAD, use HTTPS mirror.

Debes pagar la confirmación principal:

$ git checkout 9cf3d4da1148c0a0d2f42c2fbe75f9a557339bab^

Luego obtenga la fórmula gcc y guárdela en algún lugar:

$ brew cat gcc > /tmp/gcc.rb

Si usted es perezoso puse esta fórmula en línea aquí . Ahora puede ir Volver al futuro :

$ git checkout master

Asegúrate de haber eliminado el gcc actual:

$ brew rm gcc

Ahora instale la versión 4.9, ya sea desde su copia local:

$ brew install /tmp/gcc.rb

O de mi copia en línea:

$ brew install https://gist.githubusercontent.com/bfontaine/eacd18e2c413005a7526/raw/320a73fc6e1bbf0009a08e6bd90e9d32c3409007/gcc.rb

Ahora debería tener una instalación GCC 4.9 en funcionamiento. Ahora, actualice para obtener el 5.2:

$ brew upgrade gcc

Hecho.

$ brew ls --versions gcc
gcc 4.9.2_1 5.2.0
    
respondido por el bfontaine 22.07.2015 - 14:54
3

También puedes instalar gcc49 y gcc5 desde homebrew/versions :

brew tap homebrew/versions
brew install gcc49 gcc5

Luego puede referirse a ellos explícitamente mediante gcc-4.9 y gcc-5 (o exportando variables de entorno como CC , CXX etc.)

    
respondido por el Sam Brightman 08.01.2016 - 05:41

Lea otras preguntas en las etiquetas