Actualice a Python 2.7.15 (para gdb 8) en Ubuntu 16.04

Actualice a Python 2.7.15 (para gdb 8) en Ubuntu 16.04

Estoy ejecutando Ubuntu 16.04con gdbla versión 7.11.1-0ubuntu1~16.5. Cuando actualicé g++a g++-6.4( Ubuntu 6.4.0-17ubuntu1~16.04), gdb comenzó a dar errores de Python como:

Python Exception <class 'TypeError'> expected string or bytes-like object: 
Error while executing Python code.

cada vez que intento imprimir una clase o un objeto STL durante la depuración. Determiné que solo gdb-8admite soporte g++-6.4, así que intenté construir gdb-8.1a partir de las instrucciones enhttp://www.linuxfromscratch.org/blfs/view/cvs/general/gdb.html, pero gdb-8.1requiere python 2.7.15, y simplemente instalar gdb-8.1sin actualizar Python (la versión instalada es 2.7.12) no resolvió los problemas de impresión.

Siguiendo la respuesta aceptada en¿Cómo instalo la última versión de Python 2.7.X o 3.X en Ubuntu?, Intenté instalar python 2.7.15desde deadsnakesppa. Pero, misteriosamente, python 2.7.xxni siquiera aparece en la página de ppa (https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa), aunque 2.3, 2.4, 2.5, 2.6están todos disponibles. Luego, intenté construirlo manualmente según las instrucciones enhttp://www.linuxfromscratch.org/blfs/view/svn/general/python2.html, pero resulta que python 2.7.15se instala en una ubicación separada ( /usr/local/binetc.) y no reemplaza a python 2.7.12. Entonces los errores de impresión de gdb todavía están presentes.

¿Hay alguna manera de reemplazar completamente el instalado python 2.7.12? Incluso si puedo usar el archivo binario de Python correcto, tendré que cambiar la ubicación de la biblioteca para los archivos de desarrollo a la de la nueva versión y es posible que se reconstruyan gdb-8.1con esos archivos de Python-dev. Porque de lo contrario veo errores como:

Traceback (most recent call last):
 File "/usr/share/gdb/python/gdb/__init__.py", line 144, in auto_load_packages
   __import__(modname)
 File "/usr/share/gdb/python/gdb/command/pretty_printers.py", line 19, in <module>
   import copy
 File "/usr/lib/python2.7/copy.py", line 52, in <module>
   import weakref
 File "/usr/lib/python2.7/weakref.py", line 14, in <module>
   from _weakref import (
ImportError: cannot import name _remove_dead_weakref

cuando comienzo gdb. Si nada ayuda, es posible que tenga que actualizar (no es deseable) al Ubuntu-18.04que viene con python 2.7.15rcy gdb-7, aunque gdb-8la versión experimental está disponible en los repositorios.

Preguntas similares a esta no han sido tan específicas y no me han ayudado a resolver el problema.

información relacionada