1 votos

¿Cómo "-release-upgrade" otra vez?

Estoy actualizando de Ubuntu 14.04 a 18.04. Corrí

$ sudo do-release-upgrade

Se sale con errores relativos a emacs y emacs24. He quitado los paquetes con dpkg, y ahora me gustaría completar la liberación de la actualización. Sin embargo, cuando trato de ejecutar el do-release-upgrade, me sale el siguiente error:

isaac@isaac-ThinkPad-T440s:~$ sudo do-release-upgrade
Traceback (most recent call last):
  File "/usr/bin/do-release-upgrade", line 11, in <module>
    from UpdateManager.Core.MetaRelease import MetaReleaseCore
  File "/usr/lib/python3/dist-packages/UpdateManager/Core/MetaRelease.py", line 25, in <module>
    import apt
  File "/usr/lib/python3/dist-packages/apt/__init__.py", line 23, in <module>
    import apt_pkg
ImportError: /usr/lib/x86_64-linux-gnu/libapt-pkg.so.5.0: symbol _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareERKS4_, version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference

Tengo un error similar cuando ejecuto apt o apt-get, pero dpkg parece estar bien. ¿Qué debo hacer?

0voto

neildeadman Puntos 111

El parcial de actualización aparece en la introducción de algún nuevo código que espera una nueva versión de libstdc++ para existir. Hay dos soluciones que pueden funcionar para usted.

Comprobar si una versión de libstdc++ existe en el disco

$ ls -lh /usr/lib/x86_64-linux-gnu/libstdc++.*
> /usr/lib/x86_64-linux-gnu/libstdc++.so.6 -> libstdc++.so.6.0.25
> /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25

Esto se muestra en mi sistema no es sólo una libstdc++ que es 6.0.25 - pero para su sistema puede haber varios con la última no vinculadas correctamente ( -> significa que es un enlace simbólico)

Puede ejecutar este comando para forzar el enlace simbólico a punto a la más reciente:

sudo ln -s libstdc++.so.6.x.x libstdc++.so.6

Reemplazando 6.x.x con la versión más reciente que usted tiene.

Descargar libstdc++ manualmente

Descargar libstdc++6_8-20180414-1ubuntu2_amd64.deb e instalarlo mediante dpkg

wget 'https://mirrors.kernel.org/ubuntu/pool/main/g/gcc-8/libstdc++6_8-20180414-1ubuntu2_amd64.deb'
dpkg -i libstdc++6_8-20180414-1ubuntu2_amd64.deb

Si se queja de que las necesidades de una dependencia deberá repetir el proceso anterior para todos los paquetes listados como dependencias (libc6, gcc-8-base, etc.) Se puede encontrar aquí:

https://packages.ubuntu.com/bionic/libstdc++6

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: