When configure option has "with-python=/home/STools/GNU/python-2.6.5", the configure script complains about can not find python-2.6, python-2.5, python-2.4. The root cause is that the test case in configure can not be built because of the undefined references mentioned in Summary. I added "-lm -ldl -lrt -lutil" to "LIBS" in the function of "AC_TRY_LIBPYTHON" in gdb/configure.ac. My platform is Red Hat Enterprise Linux AS release 4 (Nahant Update 7).
https://stackoverflow.com/a/49868387 provides a partial fix.
The master branch has been updated by Simon Marchi <simark@sourceware.org>: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=bf27f0e2c76839af8524e053cca271934150a90c commit bf27f0e2c76839af8524e053cca271934150a90c Author: Paul Pluzhnikov <ppluzhnikov@google.com> Date: Fri May 4 10:07:58 2018 -0400 configure uses incorrect link order when testing libpython References: https://stackoverflow.com/a/49868387 https://sourceware.org/bugzilla/show_bug.cgi?id=11420 Configure uses "gcc -o conftest -g ... conftest.c -ldl -lncurses -lm -ldl ... -lpthread ... -lpython2.7" when deciding whether give libpython is usable. That of course is the wrong link order, and only works for shared libraries (mostly by accident), and only on some systems. gdb/ChangeLog: PR gdb/11420 * configure.ac: Prepend libpython. * python/python-config.py: Likewise. * configure: Regenerate.
Fixed by patch above, thanks Paul.