Los sistemas con los que trabajo tienen GCC 4.5 (experimental) en / usr / local / bin / gcc, que ha demostrado ser problemático para algunos paquetes R. En su lugar, me gustaría utilizar el sistema GCC en / usr / bin / gcc.
He intentado configurar CC y CXX en los archivos de configuración de Bash (.bashrc, .bash_profile, etc.), así como en la línea de comandos, pero aunque Bash reconoce el cambio, R no lo hace.
¿Cómo puedo hacer que R use la versión de GCC en / usr / bin en lugar de la que está en / usr / local / bin /?
Esto no está tan bien documentado (por ejemplo, no lo ubiqué en ‘R Extension’ o ‘R Admin’ ahora mismo) pero Brian Ripley lo mencionó algunas veces en las listas.
Básicamente, en el momento de comstackción R, la configuración se registra y se almacena en $R_HOME/etc/Makeconf
. Una posibilidad es editar ese archivo directamente, pero es posible que no tenga privilegios de administrador o que no desee afectar a todos los demás usuarios. Entonces, mejor puede ser crear
~/.R/Makevars
con entradas
CC=gcc-4.4 CXX=g++-4.4
además de los indicadores de optmización, etc. que desee establecer. Eso afectará todos los usos posteriores de R CMD INSTALL
o R CMD check
o … que ejecuta.
Otros archivos en $R_HOME/etc/
pueden $R_HOME/etc/
localmente de ~/.R/
.
Tuve un problema muy similar.
Lo que funcionó para mí fue definir un directorio de proyecto (rstudio puede hacer eso por usted), y luego agregar un archivo .Renviron
que modifica el PATH y LD_LIBRARY_PATH, para incluir el directorio con el nuevo gcc. En su caso, por ejemplo, el .Renviron
tendrá el siguiente aspecto:
LD_LIBRARY_PATH=/usr/local/bin/gcc/lib:/usr/local/bin/gcc/lib64:/usr/local/bin/gcc/libexec:
otras rutas
PATH=/usr/local/bin/gcc/bin:/usr/local/bin:
otras rutas
Verifique su ruta para ver si / usr / local / bin viene antes de / usr / bin. Si lo hace, solo asegúrese de que / usr / bin sea lo primero:
PATH=/usr/bin:${PATH}
(está bien si aparece / usr / bin duplicado aparece dos veces).