Non penso che il tuo comando di selezione delle porte abbia fatto quello che ti aspettavi. Il manuale indica che il comando select seleziona tra più versioni di una porta con versione , che credo sia not il tuo caso qui:
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.
Dopo aver eseguito correttamente il comando install per gcc (qui versione 4.9):
sudo port install gcc49
Puoi verificare di aver installato i file binari di 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
Puoi quindi eseguire gcc con il percorso completo ai binari:
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.
Se vuoi sostituire (temporaneamente o permanentemente) il compilatore clang di gcc, puoi farlo impostando il CC env var nel modo seguente, ad esempio:
export CC=/opt/local/bin/gcc-mp-4.9 # set GCC as default C compiler
Come nota a margine, tieni presente che affinché port select gccVersion
funzioni, devi installare 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.
Non ho guardato i dettagli del pacchetto, quindi non sono sicuro se funzionerebbe tra clang e port gcc installato o solo con diverse versioni di pacchetti gcc installati sulla porta.