Instalé una versión más nueva de devtoolset (1.1) y me preguntaba cómo haría para configurarlos de forma permanente como predeterminados. En este momento, cuando ingreso a mi servidor con CentOS, tengo que ejecutar este comandoscl enable devtoolset-1.1 bash
Intenté agregarlo a ~ / .bashrc y simplemente pegarlo en la última línea, sin éxito.
/opt/rh/devtoolset-7/enable
Una alternativa de
source /opt/rh/devtoolset-4/enable
esEl script de shell anterior
scl_source
es más elegante que usar una ruta codificada (puede ser diferente en otra máquina). Sin embargo,scl_source
hace menos porque/opt/rh/devtoolset-4/enable
usascl_source
y otras cosas.Para usarlo
scl_source
puede que tenga que actualizar el paquetescl-utils
Copiar y pegar rápido
Código fuente para personas curiosas
Un ejemplo de
scl_source
código fuente:https://gist.github.com/bkabrda/6435016
El
scl_source
instalado en mi Red Hat 7.1fuente
El problema es que
scl enable devtoolset-1.1 bash
crea un nuevo shell bash. Entonces, cuando lo pones en tu .bashrc, crea un nuevo shell ... que carga tu .bashrc, que se ejecutascl enable devtoolset-1.1 bash
, que crea un nuevo shell, que carga tu .bashrc ... ¡Forkbomb!Probablemente quieras algo como esto en tu .bashrc:
o
exit
dos veces.fuente
scl enable
.scl enable
cada vez que abro una nueva sesión ssh. Pido disculpas por estas preguntas novatas, pero no estoy seguro de cómo configurar la versión más nueva como predeterminada. ¿Hay una variable de entorno que necesito exportar en mi perfil de bash?sudo apt-get install gcc
. En CentOS, esto es rico, por ejemplosudo yum install gcc
.sudo yum update && sudo yum install gcc
y comprobaríagcc --version
. Si no es 4.7, entonces probablemente deba usar devtoolset. Si no desea ejecutarlo en SCL, puede desinstalar el gcc nativo consudo yum remove gcc
y luego agregar el directorio devtoolset a su ruta, es decir, ponerloexport PATH=$PATH:/opt/centos/devtoolset-1.1/root/usr/bin
en su .bashrc. Eso le permitirá escribirgcc
og++
y obtener el devtoolset gcc4.7.Una forma alternativa de localizar el script mencionado en otras respuestas es dejar que su administrador de paquetes le diga dónde vive.
Esto es lo que ejecutamos para extraer las herramientas dotnet en nuestras máquinas vagabundas RHEL / CentOS.
source $(rpm -ql rh-dotnet20-runtime|grep -E /enable$)
fuente