A instalação de pacotes de outros compiladores de arquitetura os coloca em uma área do sistema. Os executáveis são nomeados exclusivamente, mas o pacote é muito "útil" e acha que você realmente precisa de um link de nome curto (como o gcc) para apontar para eles, e whoa, outro pacote já usa esse link, precisa excluí-lo para você. Isso pode ser bom em uma máquina virtual, dedicada a um tipo de toolchain, mas não é desejável em circunstâncias normais.
Você pode descompactar o pacote e copiar os executáveis em / usr / bin, se desejar. Se vários usuários estão usando o compilador, seria uma maneira de fazê-lo, mas como um único usuário, eu nunca me incomodei. Acabei de descompactar localmente no meu próprio diretório e definir variáveis de ambiente e links locais, conforme necessário. A desvantagem não é obter atualizações de pacotes quando elas são lançadas. O benefício é selecionar quando você quer mudar a versão do compilador, testar a nova instalação contra o antigo, e quando você tiver validado o novo pacote atende às suas necessidades, você pode alternar. Você não pode fazer isso colocando a nova versão na área padrão do sistema porque os nomes das novas versões não são diferentes dos antigos.
exemplo de um script de configuração de conjunto de ferramentas local:
$ cat crossexp
MY_ARM_BASE=${HOME}/dev/toolchain/arm-2008q3
C_INCLUDE_PATH=${MY_ARM_BASE}/lib/gcc/arm-none-linux-gnueabi/4.3.2/include:${MY_ARM_BASE}/lib/gcc/arm-none-linux-gnueabi/4.3.2/include-fixed
LIBRARY_PATH=${MY_ARM_BASE}/arm-none-linux-gnueabi/libc/lib:${MY_ARM_BASE}/arm-none-linux-gnueabi/libc/usr/lib
CPLUS_INCLUDE_PATH=${MY_ARM_BASE}/arm-none-linux-gnueabi/include/c++/4.3.2
#OBJC_INCLUDE_PATH
COMPILER_PATH=${MY_ARM_BASE}/bin
#LD_RUN_PATH
#GPROF_PATH
#######
CC=${COMPILER_PATH}/gcc
CXX=${COMPILER_PATH}/g++
RANLIB=${COMPILER_PATH}/ranlib
STRIP=${COMPILER_PATH}/strip
export C_INCLUDE_PATH LIBRARY_PATH CPLUS_INCLUDE_PATH OMPILER_PATH
export CC CXX RANLIB STRIP
Os executáveis estão em $ {COMPILER_PATH} com nomes como: arm-none-linux-gnueabi-gcc, assim você pode adicionar um link para o diretório com o nome curto:
ln -s arm-none-linux-gnueabi-gcc gcc
Apenas uma conveniência para você, a maioria dos makefiles executa as definições como as mostradas acima, e o nome completo poderia ser usado com facilidade em vez de um nome curto.
Tenha um script de configuração para cada arquitetura e você pode ter scripts de configuração para diferentes versões de um compilador dentro de uma arquitetura.