Como afirmado no comentário de @ steven-lu, o patch está faltando no sistema operacional, então sua solução funciona perfeitamente:
yum -y install patch
Corri repoquery -ql readline-devel
e revelou que apenas vários .so
libs fazem parte deste repositório.
/usr/include/readline
/usr/include/readline/chardefs.h
/usr/include/readline/history.h
/usr/include/readline/keymaps.h
/usr/include/readline/readline.h
/usr/include/readline/rlconf.h
/usr/include/readline/rlstdc.h
/usr/include/readline/rltypedefs.h
/usr/include/readline/tilde.h
/usr/lib/libhistory.so
/usr/lib/libreadline.so
/usr/share/doc/readline-devel-6.2
/usr/share/doc/readline-devel-6.2/excallback.c
/usr/share/doc/readline-devel-6.2/fileman.c
/usr/share/doc/readline-devel-6.2/histexamp.c
/usr/share/doc/readline-devel-6.2/manexamp.c
/usr/share/doc/readline-devel-6.2/readlinebuf.h
/usr/share/doc/readline-devel-6.2/rl-fgets.c
/usr/share/doc/readline-devel-6.2/rl.c
/usr/share/doc/readline-devel-6.2/rlcat.c
/usr/share/doc/readline-devel-6.2/rlevent.c
/usr/share/doc/readline-devel-6.2/rlfe
/usr/share/doc/readline-devel-6.2/rlfe/ChangeLog
/usr/share/doc/readline-devel-6.2/rlfe/Makefile.in
/usr/share/doc/readline-devel-6.2/rlfe/README
/usr/share/doc/readline-devel-6.2/rlfe/config.h.in
/usr/share/doc/readline-devel-6.2/rlfe/configure.in
/usr/share/doc/readline-devel-6.2/rlfe/extern.h
/usr/share/doc/readline-devel-6.2/rlfe/os.h
/usr/share/doc/readline-devel-6.2/rlfe/pty.c
/usr/share/doc/readline-devel-6.2/rlfe/rlfe.c
/usr/share/doc/readline-devel-6.2/rlfe/screen.h
/usr/share/doc/readline-devel-6.2/rlptytest.c
/usr/share/doc/readline-devel-6.2/rltest.c
/usr/share/doc/readline-devel-6.2/rlversion.c
/usr/share/info/readline.info.gz
/usr/share/man/man3/history.3.gz
/usr/share/man/man3/readline.3.gz
/usr/include/readline
/usr/include/readline/chardefs.h
/usr/include/readline/history.h
/usr/include/readline/keymaps.h
/usr/include/readline/readline.h
/usr/include/readline/rlconf.h
/usr/include/readline/rlstdc.h
/usr/include/readline/rltypedefs.h
/usr/include/readline/tilde.h
/usr/lib64/libhistory.so
/usr/lib64/libreadline.so
/usr/share/doc/readline-devel-6.2
/usr/share/doc/readline-devel-6.2/excallback.c
/usr/share/doc/readline-devel-6.2/fileman.c
/usr/share/doc/readline-devel-6.2/histexamp.c
/usr/share/doc/readline-devel-6.2/manexamp.c
/usr/share/doc/readline-devel-6.2/readlinebuf.h
/usr/share/doc/readline-devel-6.2/rl-fgets.c
/usr/share/doc/readline-devel-6.2/rl.c
/usr/share/doc/readline-devel-6.2/rlcat.c
/usr/share/doc/readline-devel-6.2/rlevent.c
/usr/share/doc/readline-devel-6.2/rlfe
/usr/share/doc/readline-devel-6.2/rlfe/ChangeLog
/usr/share/doc/readline-devel-6.2/rlfe/Makefile.in
/usr/share/doc/readline-devel-6.2/rlfe/README
/usr/share/doc/readline-devel-6.2/rlfe/config.h.in
/usr/share/doc/readline-devel-6.2/rlfe/configure.in
/usr/share/doc/readline-devel-6.2/rlfe/extern.h
/usr/share/doc/readline-devel-6.2/rlfe/os.h
/usr/share/doc/readline-devel-6.2/rlfe/pty.c
/usr/share/doc/readline-devel-6.2/rlfe/rlfe.c
/usr/share/doc/readline-devel-6.2/rlfe/screen.h
/usr/share/doc/readline-devel-6.2/rlptytest.c
/usr/share/doc/readline-devel-6.2/rltest.c
/usr/share/doc/readline-devel-6.2/rlversion.c
/usr/share/info/readline.info.gz
/usr/share/man/man3/history.3.gz
/usr/share/man/man3/readline.3.gz
Isso faz com que pip install readline
, por exemplo, falhe presumivelmente porque está procurando por /usr/lib/libhistory.a
( /usr/lib/libhistory.so
está presente, no entanto).
Então, não tenho certeza de como corrigir isso, talvez eu possa fazer um link simbólico para o .so
A falha do pacote python é falha?
============ Building the readline extension module ============
building 'readline' extension
gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -DHAVE_RL_CALLBACK -DHAVE_RL_CATCH_SIGNAL -DHAVE_RL_COMPLETION_APPEND_CHARACTER -DHAVE_RL_COMPLETION_DISPLAY_MATCHES_HOOK -DHAVE_RL_COMPLETION_MATCHES -DHAVE_RL_COMPLETION_SUPPRESS_APPEND -DHAVE_RL_PRE_INPUT_HOOK -I. -I/usr/include/python2.7 -c Modules/2.x/readline.c -o build/temp.linux-x86_64-2.7/Modules/2.x/readline.o -Wno-strict-prototypes
gcc -pthread -shared -Wl,-z,relro build/temp.linux-x86_64-2.7/Modules/2.x/readline.o readline/libreadline.a readline/libhistory.a -L/usr/lib64 -lncurses -lpython2.7 -o build/lib.linux-x86_64-2.7/readline.so
gcc: error: readline/libreadline.a: No such file or directory
gcc: error: readline/libhistory.a: No such file or directory
error: command 'gcc' failed with exit status 1
Complete output from command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-build-byUz9r/readline/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-4qfEGl-record/install-record.txt --single-version-externally-managed --compile:
readline-6.2/
readline-6.2/doc/
readline-6.2/doc/Makefile.in
readline-6.2/doc/texinfo.tex
readline-6.2/doc/version.texi
readline-6.2/doc/fdl.texi
readline-6.2/doc/rlman.texi
readline-6.2/doc/rltech.texi
readline-6.2/doc/rluser.texi
readline-6.2/doc/rluserman.texi
readline-6.2/doc/history.texi
readline-6.2/doc/hstech.texi
readline-6.2/doc/hsuser.texi
readline-6.2/doc/readline.3
readline-6.2/doc/history.3
readline-6.2/doc/texi2dvi
readline-6.2/doc/texi2html
readline-6.2/doc/readline.ps
readline-6.2/doc/history.ps
readline-6.2/doc/rluserman.ps
readline-6.2/doc/readline.dvi
readline-6.2/doc/history.dvi
readline-6.2/doc/rluserman.dvi
readline-6.2/doc/readline.info
readline-6.2/doc/history.info
readline-6.2/doc/rluserman.info
readline-6.2/doc/readline.html
readline-6.2/doc/history.html
readline-6.2/doc/rluserman.html
readline-6.2/doc/readline.0
readline-6.2/doc/history.0
readline-6.2/doc/readline_3.ps
readline-6.2/doc/history_3.ps
readline-6.2/doc/history.pdf
readline-6.2/doc/readline.pdf
readline-6.2/doc/rluserman.pdf
readline-6.2/examples/
readline-6.2/examples/autoconf/
readline-6.2/examples/autoconf/BASH_CHECK_LIB_TERMCAP
readline-6.2/examples/autoconf/RL_LIB_READLINE_VERSION
readline-6.2/examples/autoconf/wi_LIB_READLINE
readline-6.2/examples/rlfe/
readline-6.2/examples/rlfe/ChangeLog
readline-6.2/examples/rlfe/Makefile.in
readline-6.2/examples/rlfe/README
readline-6.2/examples/rlfe/config.h.in
readline-6.2/examples/rlfe/configure
readline-6.2/examples/rlfe/configure.in
readline-6.2/examples/rlfe/extern.h
readline-6.2/examples/rlfe/os.h
readline-6.2/examples/rlfe/pty.c
readline-6.2/examples/rlfe/rlfe.c
readline-6.2/examples/rlfe/screen.h
readline-6.2/examples/Makefile.in
readline-6.2/examples/excallback.c
readline-6.2/examples/fileman.c
readline-6.2/examples/manexamp.c
readline-6.2/examples/readlinebuf.h
readline-6.2/examples/rl-fgets.c
readline-6.2/examples/rlcat.c
readline-6.2/examples/rlevent.c
readline-6.2/examples/rltest.c
readline-6.2/examples/rl.c
readline-6.2/examples/rlptytest.c
readline-6.2/examples/rlversion.c
readline-6.2/examples/histexamp.c
readline-6.2/examples/Inputrc
readline-6.2/examples/rlwrap-0.30.tar.gz
readline-6.2/support/
readline-6.2/support/config.guess
readline-6.2/support/config.rpath
readline-6.2/support/config.sub
readline-6.2/support/install.sh
readline-6.2/support/mkdirs
readline-6.2/support/mkdist
readline-6.2/support/mkinstalldirs
readline-6.2/support/shobj-conf
readline-6.2/support/shlib-install
readline-6.2/support/wcwidth.c
readline-6.2/shlib/
readline-6.2/shlib/Makefile.in
readline-6.2/COPYING
readline-6.2/README
readline-6.2/MANIFEST
readline-6.2/INSTALL
readline-6.2/CHANGELOG
readline-6.2/CHANGES
readline-6.2/NEWS
readline-6.2/USAGE
readline-6.2/aclocal.m4
readline-6.2/config.h.in
readline-6.2/configure
readline-6.2/configure.in
readline-6.2/Makefile.in
readline-6.2/ansi_stdlib.h
readline-6.2/chardefs.h
readline-6.2/history.h
readline-6.2/histlib.h
readline-6.2/keymaps.h
readline-6.2/posixdir.h
readline-6.2/posixjmp.h
readline-6.2/readline.h
readline-6.2/posixselect.h
readline-6.2/posixstat.h
readline-6.2/rlconf.h
readline-6.2/rldefs.h
readline-6.2/rlmbutil.h
readline-6.2/rlprivate.h
readline-6.2/rlshell.h
readline-6.2/rlstdc.h
readline-6.2/rltty.h
readline-6.2/rltypedefs.h
readline-6.2/rlwinsize.h
readline-6.2/tcap.h
readline-6.2/tilde.h
readline-6.2/xmalloc.h
readline-6.2/bind.c
readline-6.2/callback.c
readline-6.2/compat.c
readline-6.2/complete.c
readline-6.2/display.c
readline-6.2/emacs_keymap.c
readline-6.2/funmap.c
readline-6.2/input.c
readline-6.2/isearch.c
readline-6.2/keymaps.c
readline-6.2/kill.c
readline-6.2/macro.c
readline-6.2/mbutil.c
readline-6.2/misc.c
readline-6.2/nls.c
readline-6.2/parens.c
readline-6.2/readline.c
readline-6.2/rltty.c
readline-6.2/savestring.c
readline-6.2/search.c
readline-6.2/shell.c
readline-6.2/signals.c
readline-6.2/terminal.c
readline-6.2/text.c
readline-6.2/tilde.c
readline-6.2/undo.c
readline-6.2/util.c
readline-6.2/vi_keymap.c
readline-6.2/vi_mode.c
readline-6.2/xfree.c
readline-6.2/xmalloc.c
readline-6.2/history.c
readline-6.2/histexpand.c
readline-6.2/histfile.c
readline-6.2/histsearch.c
readline-6.2/patchlevel
./build.sh: line 41: patch: command not found
============ Building the readline library ============
============ Building the readline extension module ============
running install
running build
running build_ext
building 'readline' extension
creating build
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/Modules
creating build/temp.linux-x86_64-2.7/Modules/2.x
gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -DHAVE_RL_CALLBACK -DHAVE_RL_CATCH_SIGNAL -DHAVE_RL_COMPLETION_APPEND_CHARACTER -DHAVE_RL_COMPLETION_DISPLAY_MATCHES_HOOK -DHAVE_RL_COMPLETION_MATCHES -DHAVE_RL_COMPLETION_SUPPRESS_APPEND -DHAVE_RL_PRE_INPUT_HOOK -I. -I/usr/include/python2.7 -c Modules/2.x/readline.c -o build/temp.linux-x86_64-2.7/Modules/2.x/readline.o -Wno-strict-prototypes
creating build/lib.linux-x86_64-2.7
gcc -pthread -shared -Wl,-z,relro build/temp.linux-x86_64-2.7/Modules/2.x/readline.o readline/libreadline.a readline/libhistory.a -L/usr/lib64 -lncurses -lpython2.7 -o build/lib.linux-x86_64-2.7/readline.so
gcc: error: readline/libreadline.a: No such file or directory
gcc: error: readline/libhistory.a: No such file or directory
error: command 'gcc' failed with exit status 1
----------------------------------------
Cleaning up...
Command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-build-byUz9r/readline/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-4qfEGl-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /tmp/pip-build-byUz9r/readline
Storing debug log for failure in /root/.pip/pip.log
Veja, a razão pela qual eu disse "presumivelmente" antes é que eu olhei para a minha outra instalação do Centos 7 (7.0.1406) e vejo a mesma coisa. Não há lib{history,readline}.a
no sistema de arquivos. Agora estou confuso sobre por que pip install readline
funcionou antes.