touch-packages team mailing list archive
-
touch-packages team
-
Mailing list archive
-
Message #88692
[Bug 1446828] Re: gdb pretty printers do not auto-load on Trusty
I confirm this on current 14.04 LTS release.
However, I no longer have problems regarding bug #1256419, so it seems
the printers.py file syntax has already been updated in upstream.
So just commenting out the two lines Simon Suggests solves the issue for
me (however, I'm not doing any multiarch releases, so I don't know what
is broken by this fix).
** Changed in: gcc-4.8 (Ubuntu)
Status: New => Confirmed
--
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to gcc-4.8 in Ubuntu.
https://bugs.launchpad.net/bugs/1446828
Title:
gdb pretty printers do not auto-load on Trusty
Status in gcc-4.8 package in Ubuntu:
Confirmed
Bug description:
On Ubuntu 14.04.2 (Trusty), the file in libstdc++6-4.8-dbg to auto-
load the pretty printers doesn't resolve the right path to the
printers. To reproduce, on a fresh install:
$ cat test.cpp
#include <vector>
int main() {
std::vector<int> v;
v.push_back(1);
return 0;
}
$ g++ test.cpp -g
$ gdb a.out -ex start
Reading symbols from a.out...done.
Temporary breakpoint 1 at 0x400956: file test.cpp, line 3.
Starting program: /home/emaisin/a.out
Traceback (most recent call last):
File "/usr/lib/debug/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19-gdb.py", line 63, in <module>
from libstdcxx.v6.printers import register_libstdcxx_printers
ImportError: No module named 'libstdcxx'
Temporary breakpoint 1, main () at test.cpp:3
3 std::vector<int> v;
(gdb)
It seems like the fixup for multiarch actually adds an extra "..":
if not os.path.basename(os.path.dirname(__file__)).startswith('lib'):
backdirs += 1 # multiarch subdir
Removing these two lines almost makes it work:
$ gdb a.out -ex start
Reading symbols from a.out...done.
Temporary breakpoint 1 at 0x400956: file test.cpp, line 3.
Starting program: /home/emaisin/a.out
Traceback (most recent call last):
File "/usr/lib/debug/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19-gdb.py", line 63, in <module>
from libstdcxx.v6.printers import register_libstdcxx_printers
File "/usr/lib/x86_64-linux-gnu/../../share/gcc-4.8/python/libstdcxx/v6/printers.py", line 54
raise ValueError, "Cannot find type %s::%s" % (str(orig), name)
^
SyntaxError: invalid syntax
Temporary breakpoint 1, main () at test.cpp:3
3 std::vector<int> v;
That last problem is tracked in bug #1256419, which is still a pending issue in Trusty.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gcc-4.8/+bug/1446828/+subscriptions
References