Mi is van ezzel a Python/gdb háborúsággal?

Azt mondja a gdb-8.0.1, hogy 'nem jó' a python a gépen (2.7.11 egyébként). Megnézem a config.log-ot, ottan látható a parancs, amivel próbálkozott, meg a hibaüzenet is, hogy miért nem sikerült:


gcc64 ... -Wl,-bE:Modules/python.exp ...
ld: 0706-004 Cannot find or read export file: Modules/python.exp

Namostan ilyen 'Modules' az egész gdb-ben sincs. A /usr/local/src/Python-ban viszont van. Persze ott nem keresi senki, miért keresné? Azon kívül van olyan is, hogy /usr/local/lib64/python2.7/config/python.exp

Az optimális megoldásnak az tűnik, ha megtalálom a gdb valaminő config*-fájljában ezt a 'Modules/python.exp' stringet, és kiszedem.

Szerk: na itt a bűnös:


$ python /usr/local/src/gdb-8.0.1/gdb/python/python-config.py  --ldflags
-L/usr/local/lib64/python2.7/config -ldl -lm -lpython2.7 -Wl,-bE:Modules/python.exp -lld

Az pedig innen olvasgat: /usr/local/lib/python2.7/_sysconfigdata.py

Mai utolsó ötletem:


sed_repl '/LINKFORSHARED/d' /usr/local/src/gdb-8.0.1/gdb/python/python-config.py

Szerk: csodállatias:


ImportError:    0509-130 Symbol resolution failed for /usr/local/lib/python2.7/lib-dynload/itertools.so because:
        0509-136   Symbol PyArg_ParseTupl (number 2) is not exported from
                   dependent module gdb.

Derék gdb python-modult akar betölteni, de a python-modul úgy van linkelve, hogy a mindenkori főprogramból vegye az unresolved externeket. Normálisan a libpython2.7.so-ból kellene venni őket, és magának a python.exe-nek is erre a libpython2.7.so-t kellene épülnie.
"Dehát, mit vár nagysád egy paszulytól?"

Hozzászólások

Speciel ennek a kollégának pont így van:
https://stackoverflow.com/questions/7880454/python-executable-not-findi…

Szerk: Ja mert hogy én azt mondtam neki, hogy "./configure --disable-shared"
Akkor most megpróbálom a másik módon, de nem számítok könnyű sikerre.

Szerk: Egyelőre linux-on próbálkozom, hát érdekes:


# cd /usr/local/src/Python-2.7.14
# ./python --version
Python 2.7.12 ## Azannya, egy régi shared-libet talált

# rm /usr/local/librossz/libpython*
# ./python --version
Python 2.7.9 ## Van másik!

# ldconfig; ./python --version
Python 2.7.14 ## Iterációval eljutottunk az elvárt eredményhez;)

Haladunk, gdb működik Python-ostul, már majdnem azt gondoltam, hogy kész van, mikor beszólt a samba:


/usr/local/bin/python2.7-config: 0403-006 Execute permission denied.

Szerk: Akkor a Makefile-ban az INSTALL_SCRIPT-részt kiegészítem egy '-m 0755'-tel és meglátjuk, segít-e.