Instale gcc to mac a través de Terminal

2

He instalado Xcode y las herramientas de línea de comandos del sitio web de Desarrolladores de Mac, que he leído varias veces es un requisito previo. También instalé el programa MacPorts. En la terminal:

sudo port install gcc48
sudo port select -set gcc mp-gcc48

Todo lo anterior se realizó sin problemas hasta que escribo:

hash gcc

Cuando presiono Intro, aparece el siguiente mensaje de error:

-bash: hash: gcc: no encontrado

Estoy perdido y no sé cómo proceder para instalar gcc en mi Mac (que ejecuta Mac OS X 10.9.1).

Muy agradecido a cualquier sugerencia y / o alternativa para instalar el gcc

    
pregunta user3239031 27.01.2014 - 06:59

3 respuestas

6

Es mejor que instales gcc desde homebrew que Macports.

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew doctor
brew update
brew search gcc

Hay más de 6 versiones de gcc disponibles desde este administrador de paquetes. Consulte enlace para obtener más detalles sobre las herramientas de fabricación casera. También este hilo tiene más detalles sobre gcc y homebrew: ¿Cómo instalo GCC? ¿a través de Homebrew? Por último, el error gcc en tu shell es similar a este hilo: Instalé Xcode pero aún no no tengo gcc en mi terminal

    
respondido por el bmike 27.01.2014 - 07:18
1

Sus podrían ser dos problemas. Un problema es tu camino. Debe tener / opt / local / bin delante de / usr / bin actualmente tiene / opt / local / bin detrás de / usr / bin. Debido a esto, g ++ probablemente todavía está enlazando a clang.

El otro problema es que está usando el comando de selección de puerto incorrecto. El comando de selección de puerto hace automáticamente un enlace de bandera g ++ a su compilador especificado. En este caso, el compilador especificado debería ser mp-4.8 y debería ser --set en lugar de -set. Las instrucciones se encuentran en esta página web enlace .

    
respondido por el Zachary Kraus 23.09.2014 - 07:15
-1

No creo que su comando de selección de puerto hiciera lo que esperaba. El manual indica que el comando de selección selecciona entre varias versiones de un puerto versionado , que creo que no es su caso aquí:

pejvan$ port help select
Usage: select --list --set --show --summary <arguments>

Select between multiple versions of a versioned port

This allows you to choose which version, among several installed versions
of a port, is to be considered primary.  What this means is which version
becomes the one most would consider the default, e.g. the one run without
specifying any version.

Después de ejecutar con éxito el comando de instalación para gcc (aquí la versión 4.9):

sudo port install gcc49

Puedes verificar que tienes instalados los binarios gcc:

pejvan$ ls -l /opt/local/bin/gcc*
-rwxr-xr-x  2 root  admin    42912  3 Jun 03:44 /opt/local/bin/gcc-ar-mp-4.9
-rwxr-xr-x  3 root  admin  1082788  3 Jun 03:44 /opt/local/bin/gcc-mp-4.9
-rwxr-xr-x  2 root  admin    42992  3 Jun 03:44 /opt/local/bin/gcc-nm-mp-4.9
-rwxr-xr-x  2 root  admin    43000  3 Jun 03:44 /opt/local/bin/gcc-ranlib-mp-4.9

Luego puedes ejecutar gcc con la ruta completa a los binarios:

pejvan$ gcc-mp-4.9 --version
gcc-mp-4.9 (MacPorts gcc49 4.9-20140416_2) 4.9.0 20140416 (prerelease)
Copyright (C) 2014 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.

Si desea reemplazar (temporal o permanentemente) el compilador compatible con gcc, puede hacerlo configurando el valor de entorno CC de la siguiente manera, por ejemplo:

export CC=/opt/local/bin/gcc-mp-4.9 # set GCC as default C compiler

Como nota al margen, tenga en cuenta que para que funcione port select gccVersion , deberá instalar gcc_select :

pejvan$ port info gcc_select
gcc_select @0.1_8 (sysutils)

Description:          gcc_select installs files that allow 'port select' to switch the default version of gcc. It symlinks the standard compiler executables in
                      the MacPorts prefix to the selected version.

No he mirado los detalles del paquete, por lo que no estoy seguro de si funcionaría entre el clang y el puerto instalado gcc o solo con varias versiones diferentes de los paquetes de puerto instalados gcc.

    
respondido por el Pejvan 15.06.2014 - 20:35

Lea otras preguntas en las etiquetas