Pergunta

Os sistemas com quem trabalho têm GCC 4.5 (experimental) em / usr / local / bin / gcc que provou ser problemático para alguns pacotes R. Gostaria de passar a usar GCC sistema em / usr / bin / gcc.

Eu tentei configuração CC e CXX nos arquivos de configuração Bash (.bashrc, Bash_profile etc.), bem como na linha de comando, mas, embora Bash reconhece a alteração, R não.

Como posso obter R usar a versão do GCC em / usr / bin em vez de um em / usr / / bin local /?

Foi útil?

Solução

Este não é tão bem documentada (por exemplo I não conseguiu localizá-lo em qualquer 'R Extensão' ou 'R Admin' agora), mas Brian Ripley mencionado algumas vezes nas listas.

Basicamente, em tempo de compilação R, definições são registadas e armazenadas em $R_HOME/etc/Makeconf. Uma possibilidade é a de editar esse arquivo diretamente, mas você não pode ter privilégios de root ou não quer afetar todos os outros usuários. Assim, o melhor pode ser para criar

~/.R/Makevars

com entradas

CC=gcc-4.4
CXX=g++-4.4
bandeiras

além de qualquer que seja o optmisation etc você deseja definir. Que o afetam todos os usos subseqüentes R CMD INSTALL ou R CMD check ou ... que você execute.

Outros arquivos em $R_HOME/etc/ pode ser igualmente substituído localmente a partir ~/.R/.

Outras dicas

Eu tive um problema muito semelhante.

O que funcionou para mim foi definir um diretório de projeto (rstudio pode fazer isso por você), e depois adicionar um arquivo .Renviron que modifica o PATH e LD_LIBRARY_PATH, para incluir o diretório com a nova gcc. No seu caso, por exemplo, o .Renviron será algo parecido com:

LD_LIBRARY_PATH=/usr/local/bin/gcc/lib:/usr/local/bin/gcc/lib64:/usr/local/bin/gcc/libexec: outros caminhos

PATH=/usr/local/bin/gcc/bin:/usr/local/bin: outros caminhos

Verifique se o seu caminho para ver se / usr / local / bin vem antes de / usr / bin. Se isso acontecer, apenas certifique-se / usr / bin vem primeiro:

PATH=/usr/bin:${PATH}

(tudo bem se / usr / bin é duplicado aparece duas vezes).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top