Centos 7.1.1503 不再具有 python 包假定存在的一些静态库

Centos 7.1.1503 不再具有 python 包假定存在的一些静态库

我运行repoquery -ql readline-devel后发现只有各种.so库是此存储库的一部分。

/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

这会导致pip install readline例如失败想必因为它正在寻找/usr/lib/libhistory.a/usr/lib/libhistory.so但是存在)。

所以我不确定如何纠正这个问题,也许我可以建立一个符号链接到.so

失败是 python 包的错吗?

    ============ 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

看,我之前说“大概”的原因是我查看了我的其他 Centos 7 安装 (7.0.1406),我看到了同样的事情。lib{history,readline}.a文件系统中不存在。现在我很困惑以前为什么pip install readline工作。

答案1

正如 @steven-lu 的评论中所述,操作系统中缺少补丁,因此他的解决方案完美运行:

yum -y install patch

相关内容