¿Cómo instalar una nueva versión de GCC y convertirla en la predeterminada?

¿Cómo instalar una nueva versión de GCC y convertirla en la predeterminada?

Construí e instalé una nueva versión gccen mi máquina Linux (Ubuntu) y la instalé en /opt/gcc-10.2.0.

Luego solía update-alternativeshacer que esto fuera el predeterminado gcc/ g++.

Funciona, sin embargo, los programas creados con el nuevo gccenlace aún se vinculan con el antiguo libstdc++en /usr/lib/x86_64-linux-gnuy no con el que se encuentra en /opt/gcc-10.2.0/lib64.

Esto es un problema si el sistema libstdc++usa la ABI anterior a C++11 porque esto provocará que la aplicación falle durante el inicio.

¿Hay alguna manera de instalar una versión más nueva de GCC y convertirla en el "compilador predeterminado" para el usuario y también garantizar que los programas creados con ella se vinculen con libstc++(y libgcc) incluidos con ese compilador?

Pregunto esto porque quiero crear un servidor de compilación que utilice la versión GCC más reciente.

Respuesta1

  • Esto es realmente bueno ya que sus programas compilados se vuelven más portátiles.
  • Podrías intentar agregar -L/opt/gcc-10.2.0/lib64banderas a tus compilaciones.
  • Podrías sudo mkdir /usr/lib64/save; sudo mv -iv /usr/lib64/libstdc++* /usr/lib64/save; esto no se recomienda.

información relacionada