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

14

Eu tenho um problema com o GDB. Sempre que tento depurar qualquer programa C ++, logo após executá-lo, o GDB dá o seguinte 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 trava completamente).

Estou ciente de que existem vários relatórios de erros sobre isso ( aqui , aqui e aqui ). No segundo relatório, também há uma alegação de que há uma correção lançada. No terceiro, há uma solução alternativa para o link simbólico, que não funcionou para mim (e da qual não gosto, mesmo que funcionasse).

Alguém encontrou uma solução alternativa para isso? Falta algum pacote?

Nota: Eu tenho as compilações de teste do Ubuntu Toolchain (ppa: ubuntu-toolchain-r / test) ativadas pelo PPA.

errikos
fonte

Respostas:

7

Isso é um bug /usr/lib/debug/usr/lib/$triple/libstdc++.so.6.0.18-gdb.py; se estivesse funcionando corretamente, você veria apenas ImportErroruma vez e as bonitas impressoras funcionariam.

Veja http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=701935#18 para obter mais informações sobre o que está acontecendo de errado aqui. Isso funcionou bem no Debian gcc-4.7, mas até recentemente não funcionava no gcc-4.8Debian. Eu não tenho certeza se eu tentei isso com gcc-4.6.

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

SamB
fonte
2
Você poderia fornecer um patch de amostra?
fouric 27/11/13
Provavelmente isso foi corrigido pelos pacotes mais recentes no ppa: ubuntu-toolchain-r / test, pois não recebo mais esse erro. Eu tinha perdido o interesse nisso, pois não tenho feito muito desenvolvimento em C / C ++ recentemente. Obrigado pela sua resposta!
errikos
Nota: Matthias Klose desde então moveu o arquivo relevante para um local onde ele não aciona mais o falso ImportErrorno Debian instável.
SamB 25/07
Como posso corrigir isso?
Becko
@ Becko: Qual é a sua versão exata instalada do libstdc ++ 6?
SamB