Saya mencoba membuat gdb 10.1 terbaru dari sumber.
[Alasan saya ingin melakukannya adalah karena saya mencoba men-debug program yang tertaut ke build kustom Python 2.7.18, dan gdb sistem saya ditautkan ke build Python 2.7.5 di direktori /lib64 saya dan tidak berfungsi dengan versi yang lebih baru].
Setelah membaca file README, saya telah mengkonfigurasi menggunakan:
../gdb-10.1/configure --with-python=<path to my 2.7.18 installation> --prefix=<path to where I want the new gdb to go>
...dan kemudian lari
make all install
... sesuai instruksi. Namun, setiap upaya untuk membangun kemudian gagal dan menghasilkan banyak pesan kesalahan dalam bentuk:
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'
Saat memeriksa output dari langkah konfigurasi, dan Makefile itu sendiri, saya tidak dapat menemukan referensi sama sekali untuk instalasi Python yang saya tentukan pada waktu konfigurasi (dan yang juga saya tempatkan di kepala LD_LIBRARY_PATH saya untuk memastikan bahwa kompiler dan linker dapat menemukannya saat membangun).
Apa yang kulewatkan di sini?
grep PYTHON_CPPFLAGS /path/to/your/build/directory/gdb/config.log
(atauconfig.status
) , apakah opsi-I
merujuk ke direktori yang berisiPython.h
? - person Mark Plotnick   schedule 27.10.2020config.log
di direktoribuild/gdb
untuk baris yang dimulai denganchecking whether to use python
danchecking compiler flags for python code
dan lihat apakah program pengujian berhasil. - person Mark Plotnick   schedule 27.10.2020.../configure
untuk gdb dan python? - person Mark Plotnick   schedule 28.10.2020