GDB gặp sự cố với: ImportError: Không có mô-đun có tên libstdcxx.v6.printers


14

Tôi có một vấn đề với GDB. Bất cứ khi nào tôi cố gắng gỡ lỗi bất kỳ chương trình C ++ nào, ngay sau khi chạy nó, GDB sẽ báo lỗi này:

(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

Sau đó, GDB tiếp tục chạy (nghĩa là không bị sập hoàn toàn).

Tôi biết rằng có một số báo cáo lỗi về điều này ( ở đây , ở đâyở đây ). Trong báo cáo thứ hai, cũng có một tuyên bố rằng có một bản sửa lỗi được phát hành. Trong phần ba, có một cách giải quyết liên kết tượng trưng, ​​không phù hợp với tôi (và điều mà tôi không thích, ngay cả khi nó hoạt động).

Có ai tìm thấy một cách giải quyết cho điều này? Có gói nào thiếu không?

Lưu ý: Tôi có các bản dựng thử nghiệm Ubuntu Toolchain (ppa: ub Ubuntu-toolchain-r / test) PPA được kích hoạt.

Câu trả lời:


7

Đây là một lỗi trong /usr/lib/debug/usr/lib/$triple/libstdc++.so.6.0.18-gdb.py; nếu nó hoạt động chính xác, bạn sẽ chỉ nhìn thấy ImportErrormột lần và các máy in đẹp sẽ hoạt động.

Xem http://bugs.debian.org/cgi-bin/orpreport.cgi?orms=701935#18 để biết một số thông tin về những gì đang xảy ra ở đây. Điều này hoạt động tốt trong Debian gcc-4.7, nhưng cho đến gần đây không hoạt động gcc-4.8trên Debian. Tôi không chắc tôi thậm chí đã thử điều này với gcc-4.6.

Bất kể, bạn có thể vá tệp đó để tìm đúng nơi.


2
Bạn có thể cung cấp một bản vá mẫu?
bốn giờ

Điều này có thể đã được sửa bởi các gói mới nhất trong ppa: ubfox-toolchain-r / test, vì tôi không gặp phải lỗi này nữa. Tôi đã mất hứng thú với điều này vì gần đây tôi không thực hiện nhiều phát triển C / C ++. Cảm ơn câu trả lời của bạn mặc dù!
errikos

Lưu ý: Kể từ đó, Matthias Klose đã chuyển tệp có liên quan đến nơi không kích hoạt tính năng giả mạo ImportErrornữa trong Debian không ổn định.
SamB

Làm thế nào tôi có thể vá điều này?
vẫy gọi

@becko: Phiên bản cài đặt chính xác của libstdc ++ 6 là gì?
SamB
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.