Comment 4 for bug 1166304

Revision history for this message
Alastair Rankine (arankine) wrote :

Adding python3 support is a mistake IMHO, at least until all packaged gdb python code is upgraded to support it. And by this I'm mainly thinking of the libstdc++ pretty printers, as provided by the various libstdc++6-4.x-dbg packages. Currently these modules are not usable, and give the following error when you try to load them (see below).

Obviously the various pretty printers should be upgraded to be compatible with python 3, but in the meantime I think we should be preferring python2 (2.7 possibly?)

% gdb
GNU gdb (GDB) 7.5.91.20130408-cvs-ubuntu
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
(gdb) python
>import sys
>sys.path.insert(0, "/usr/share/gcc-4.8/python")
>from libstdcxx.v6.printers import register_libstdcxx_printers
>register_libstdcxx_printers (None)
>Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/usr/share/gcc-4.8/python/libstdcxx/v6/printers.py", line 54
    raise ValueError, "Cannot find type %s::%s" % (str(orig), name)
                    ^
SyntaxError: invalid syntax
Error while executing Python code.
(gdb)