Я пытаюсь собрать последнюю версию gdb 10.1 из исходного кода.
[Причина, по которой я хочу это сделать, заключается в том, что я пытаюсь отладить программу, которая ссылается на пользовательскую сборку Python 2.7.18, а моя система gdb была связана со сборкой Python 2.7.5 в моем каталоге /lib64 и не работает с более новой версией].
Прочитав файл README, я настроил с помощью:
../gdb-10.1/configure --with-python=<path to my 2.7.18 installation> --prefix=<path to where I want the new gdb to go>
... а затем запустить
make all install
...по инструкции. Однако каждая попытка сборки завершается сбоем в виде множества сообщений об ошибках вида:
python/py-arch.o: In function `gdbarch_to_arch_object(gdbarch*)':
.../build/gdb/../../../gdb-10.1/gdb/python/py-arch.c:86: undefined reference to `_Py_RefTotal'
python/py-arch.o: In function `gdbpy_ref_policy<_object>::decref(_object*)':
.../build/gdb/../../../gdb-10.1/gdb/python/py-ref.h:36: undefined reference to `_Py_RefTotal'
.../build/gdb/../../../gdb-10.1/gdb/python/py-ref.h:36: undefined reference to `_Py_NegativeRefcount'
.../build/gdb/../../../gdb-10.1/gdb/python/py-ref.h:36: undefined reference to `_Py_Dealloc'
.../build/gdb/../../../gdb-10.1/gdb/python/py-ref.h:36: undefined reference to `_Py_RefTotal'
.../build/gdb/../../../gdb-10.1/gdb/python/py-ref.h:36: undefined reference to `_Py_RefTotal'
.../build/gdb/../../../gdb-10.1/gdb/python/py-ref.h:36: undefined reference to `_Py_RefTotal'
.../build/gdb/../../../gdb-10.1/gdb/python/py-ref.h:36: undefined reference to `_Py_NegativeRefcount'
.../build/gdb/../../../gdb-10.1/gdb/python/py-ref.h:36: undefined reference to `_Py_Dealloc'
.../build/gdb/../../../gdb-10.1/gdb/python/py-ref.h:36: undefined reference to `_Py_RefTotal'
.../build/gdb/../../../gdb-10.1/gdb/python/py-ref.h:36: undefined reference to `_Py_Dealloc'
.../build/gdb/../../../gdb-10.1/gdb/python/py-ref.h:36: undefined reference to `_Py_NegativeRefcount'
Изучив выходные данные шага configure и сам Makefile, я не могу найти никакой ссылки на установку Python, которую я указал во время настройки (и которую я также поместил в заголовок моего LD_LIBRARY_PATH, чтобы гарантировать, что компилятор и компоновщик может найти его при сборке).
Что мне здесь не хватает?
grep PYTHON_CPPFLAGS /path/to/your/build/directory/gdb/config.log
(илиconfig.status
), относятся ли параметры-I
к каталогу, содержащемуPython.h
? - person Mark Plotnick   schedule 27.10.2020config.log
в каталогеbuild/gdb
строки, начинающиеся сchecking whether to use python
иchecking compiler flags for python code
, и посмотрите, успешно ли выполнены тестовые программы. - person Mark Plotnick   schedule 27.10.2020.../configure
как для gdb, так и для python? - person Mark Plotnick   schedule 28.10.2020