Pregunta

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 Me gustaría usar 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.

¿Cómo puedo hacer que R use la versión de GCC en / usr / bin en lugar de la de / usr / local / bin /?

¿Fue útil?

Solución

Esto no está tan bien documentado (por ejemplo, no pude ubicarlo en 'R Extension' o 'R Admin' en este momento) pero Brian Ripley lo mencionó varias veces en las listas.

Básicamente, en el tiempo de compilación R, las configuraciones se registran y se almacenan en $ R_HOME / etc / Makeconf . Una posibilidad es editar ese archivo directamente, pero es posible que no tenga privilegios de root o que no quiera afectar a todos los demás usuarios. Así que mejor puede ser crear

~/.R/Makevars

con entradas

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

más los indicadores de optimización, etc. que desee configurar. Eso afectará a todos los usos posteriores de R CMD INSTALL o R CMD check o ... que ejecute.

Otros archivos en $ R_HOME / etc / también pueden ser anulados localmente desde ~ / .R / .

Otros consejos

Tuve un problema muy similar.

Lo que funcionó para mí fue definir un directorio de proyecto (rstudio puede hacerlo por usted), y luego agregar un archivo .Renviron que modifique el PATH y LD_LIBRARY_PATH, para incluir el directorio con el nuevo gcc. En su caso, por ejemplo, el .Renviron tendrá un aspecto similar al siguiente:

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 aparece antes de / usr / bin. Si lo hace, solo asegúrate de que / usr / bin sea lo primero:

PATH=/usr/bin:${PATH}

(está bien si / usr / bin está duplicado aparece dos veces).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top