# [compilador] después de actualizar gcc (cerrado)

## expobi

Días después de una actualización, en la que creo recordar que estaba gcc, al intentar usar amule:

```

Fatal Error: Mismatch between the program and library build versions detected.

The library used 3.0 (wchar_t,compiler with C++ ABI 1011,wx containers,compatible with 2.8),

and your program used 3.0 (wchar_t,compiler with C++ ABI 1013,wx containers,compatible with 2.8).

Abortado

```

Encontré la solución en este hilo del forum: https://forums.gentoo.org/viewtopic-t-1086528-start-0.html y desde aquí les doy las gracias.

Ahora me pregunto, si tengo programas antiguos que usan bibliotecas antiguas, cuando se actualiza gcc.

- ¿Sería buena idea forzar re-compilación de estos programas y sus bibliotecas?

- ¿Cómo se fuerza la re-compilación de un programa junto con las bibliotecas que utiliza?

Lo pregunto por que el fallo me estuvo pasando  'varios' días , lo ejecuto desde escritorio y lo achacaba al típico: 'violación de segmento' , no le di mucha importancia (ya se le pasara, pensé) 

 hasta que como estaba en una consola se me ocurrió ejecutarlo desde ella y apareció el error.

Ahora me pregunto también si  mi comando de actualización es correcto o no tiene nada que ver.

```

emerge -av --update --deep --with-bdeps=y --newuse @world

```

Gracias por responder a estas preguntas existenciales  :Confused:   :Confused: Last edited by expobi on Mon Apr 15, 2019 4:15 pm; edited 1 time in total

----------

## quilosaq

https://wiki.gentoo.org/wiki/Upgrading_GCC/es

En está página se da una una explicación sobre la ABI y pautas para cuando se actualiza gcc.

En cuanto al comado de actualización que utilizas creo que es correcto ya que coincide con la recomendación del Manual de Gentoo:

https://wiki.gentoo.org/wiki/Handbook:AMD64/Working/Portage/es#Actualizando_su_sistema

```
root# emerge --update --deep --with-bdeps=y --newuse @world
```

Hay que tener en cuenta que el archivo world, en el confía en comando anterior, debe estar también correcto. En el caso que planteas, la actualización no arreglaría la discrepancia de versiones de ABI si no tuvieras el paquete amule en tu world.

----------

## expobi

Gracias quilosaq

Estudie la página que mencionas y los logs de portage y creo que lo que paso fué:

gcc se actualiza, un tiempo después se actualiza amule pero no actualiza/recompila la versión wxGTK que utiliza.

Cuando tiempo después inicio el amule salta el error.

Gracias a tí ahora entiendo el porqué y la próxima vez estaré atento.

----------

