O GDB trava com: ImportError: Nenhum módulo chamado libstdcxx.v6.printers

14

Eu tenho um problema com o GDB. Sempre que eu tento depurar qualquer programa C ++, logo após executá-lo, o GDB dá esse erro:

(gdb) run
Starting program: /home/errikos/Workspaces/tests/a.out 
Traceback (most recent call last):
  File "/usr/lib/debug/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.18-gdb.py", line 59, in <module>
    from libstdcxx.v6.printers import register_libstdcxx_printers
ImportError: No module named libstdcxx.v6.printers
Traceback (most recent call last):
  File "/usr/lib/debug/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.18-gdb.py", line 59, in <module>
    from libstdcxx.v6.printers import register_libstdcxx_printers
ImportError: No module named libstdcxx.v6.printers

Depois disso, o GDB continua em execução (ou seja, não falha completamente).

Estou ciente de que existem vários relatórios de bugs sobre isso ( aqui , < um href="https://bugs.launchpad.net/ubuntu/+source/gcc-4.6/+bug/908163"> aqui e aqui ). No segundo relatório, há também uma afirmação de que há uma correção liberada. No terceiro, há uma solução alternativa de link simbólico, que não funcionou para mim (e da qual eu não gosto, mesmo que tenha funcionado).

Alguém encontrou uma solução para isso? Qualquer pacote ausente?

Nota: eu tenho o teste do conjunto de ferramentas do Ubuntu (ppa: ubuntu-toolchain-r / test) ativado pelo PPA.

    
por errikos 15.09.2013 / 16:15

1 resposta

7

Este é um bug em /usr/lib/debug/usr/lib/$triple/libstdc++.so.6.0.18-gdb.py ; se estivesse operando corretamente, você só veria o ImportError uma vez e as impressoras bonitas funcionariam.

Veja link para obter algumas informações sobre o que está errado aqui. Isso funcionou bem no gcc-4.7 do Debian, mas até recentemente não funcionava em gcc-4.8 no Debian. Eu não tenho certeza se eu mesmo tentei isso com gcc-4.6 .

Independentemente disso, você pode corrigir esse arquivo para procurar no lugar certo.

    
por SamB 27.11.2013 / 06:49