
Construí e instalé una nueva versión gcc
en mi máquina Linux (Ubuntu) y la instalé en /opt/gcc-10.2.0
.
Luego solía update-alternatives
hacer que esto fuera el predeterminado gcc
/ g++
.
Funciona, sin embargo, los programas creados con el nuevo gcc
enlace aún se vinculan con el antiguo libstdc++
en /usr/lib/x86_64-linux-gnu
y 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/lib64
banderas a tus compilaciones. - Podrías
sudo mkdir /usr/lib64/save; sudo mv -iv /usr/lib64/libstdc++* /usr/lib64/save
; esto no se recomienda.