Eu não acho que você pode atualizar o GCC se você não for root. Tente baixar o rpm e instalá-lo, mas as chances são muito menores.
Eu gostaria de instalar o devtools em um cluster que executa o CentOS 5.4 (para obter uma versão superior do gcc do que a padrão. Eu preciso do gcc > 4.7 para usar alguns recursos do C ++ 11)
No entanto, não tenho permissão de root. É possível instalar o devtools na minha pasta de usuário, sem acesso root? Os passos dados em este answer supõe que o acesso root esteja disponível. Obrigado por qualquer informação ou links.
Eu não acho que você pode atualizar o GCC se você não for root. Tente baixar o rpm e instalá-lo, mas as chances são muito menores.
Sim, certamente. Mas há algumas coisas que você deve saber.
Você deve compilar a partir do código-fonte e fornecer um prefixo ao seu diretório pessoal:
./configure --prefix=$HOME
Claro, adicione os parâmetros conforme necessário. make install
será então instalado em / home / yourdir / bin, /home/dirdir/lib, etc. Talvez seja necessário executar o 'ldconfig' manualmente no diretório lib para criar links simbólicos encurtados para suas bibliotecas.
Em seu ambiente de shell, adicione o caminho ao seu diretório pessoal 'bin' primeiro, se ainda não tiver feito isso. Por exemplo, adicione isto ao seu .bashrc:
PATH=$HOME/bin:$PATH
LD_LIBRARY_PATH=$HOME/lib:$LD_LIBRARY_PATH
export PATH LD_LIBRARY_PATH
Isso fará com que sua cópia do gcc seja encontrada primeiro. O LD_LIBRARY_PATH faz o mesmo com suas próprias bibliotecas dinâmicas.
Note que versões mais recentes do gcc podem requerer versões mais novas do binutils, do assembler e de várias bibliotecas, assim você pode acabar com muito mais do que apenas o gcc. Além disso, eu acho que é recomendado primeiro compilar apenas o compilador C (com --enable-languages = C), então recompilar o gcc com ele mesmo para compilar o compilador C ++.
Finalmente, o acima pode interferir com as bibliotecas C ++ existentes no sistema; no passado, tive problemas em vincular bibliotecas C ++ compiladas por diferentes versões do gcc em meus programas. Bibliotecas C geralmente não têm esse problema.