I've just compiled gdb 7.8
from source in my home directory on a server machine running linux. I had previously been using gdb 7.6
, and aside from stability issues with gdb
itself (the reason for the upgrade) everything worked fine.
Since the upgrade of gdb
, when I run cgdb 0.6.7
I immediately get the following message:
Python Exception <type 'exceptions.ImportError'> No module named gdb: warning: Could not load the Python gdb module from `/home/username/bin/gdb//python'. Limited Python support is available from the _gdb module. Suggest passing --data-directory=/path/to/gdb/data-directory.
When I built gdb
, I used ./configure --with-python
.
When I run cgdb
and my program reaches a segfault, I type backtrace
and get the following message:
Python Exception No module named gdb.frames:
So it seems like I am effectively unable to use gdb
/cgdb
without python support. What can I do to resolve this?
FWIW; I don't use python
, I usually write c++
.
You should specify the value of "--data-directory
". For example, if you load gdb
from the build directory, the command should be:
./gdb -data-directory ./data-directory
Then gdb
can know where to find python
module.
You can refer this discussion.
root@labs:~/gdb-8.1# gdb --version
Python Exception <type 'exceptions.ImportError'> No module named gdb:
gdb: warning:
Could not load the Python gdb module from `/usr/local/share/gdb/python'.
Limited Python support is available from the _gdb module.
Suggest passing --data-directory=/path/to/gdb/data-directory.
....
Try to cp python lib to --data-directory=/path/to/gdb/data-directory
. My data directory is /usr/local/share/gdb/python,
# mkdir -p /usr/local/share/gdb/python/gdb
# cp -rf ~/gdb-8.1/gdb/python/lib/gdb/* /usr/local/share/gdb/python/gdb/
# gdb --version
GNU gdb (GDB) 8.1
Copyright (C) 2018 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-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
I just ran into this and wanted to share what I found. During compilation, specifically the 'make install' step, I noticed this message:
WARNING: `makeinfo' is missing on your system. You should only need it if
you modified a `.texi' or `.texinfo' file, or any other file
indirectly affecting the aspect of the manual. The spurious
call might also be the consequence of using a buggy `make' (AIX,
DU, IRIX). You might want to install the `Texinfo' package or
the `GNU make' package. Grab either from any GNU archive site.
It sounds as if it's OK that I don't have makeinfo
, but in fact it led to the error that the OP asked about. After installing texinfo
I then reran make install
and ran gdb
with no python error message.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With