高山python3错误重定位/usr/lib/libpython3.6m.so.1.0:getrandom:找不到符号

时间:2018-10-26 05:07:19

标签: python-3.x alpine

使用python安装最新的alpine(3.8)后,出现以下错误

$ docker run -it alpine:3.8 sh
/ # sed -i -e 's/v[[:digit:]]\.[[:digit:]]/edge/g' /etc/apk/repositories
/ # apk add python3
fetch http://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
(1/11) Installing libbz2 (1.0.6-r6)
(2/11) Installing expat (2.2.6-r0)
(3/11) Installing libffi (3.2.1-r5)
(4/11) Installing gdbm (1.13-r1)
(5/11) Installing xz-libs (5.2.4-r0)
(6/11) Installing ncurses-terminfo-base (6.1_p20180818-r1)
(7/11) Installing ncurses-terminfo (6.1_p20180818-r1)
(8/11) Installing ncurses-libs (6.1_p20180818-r1)
(9/11) Installing readline (7.0.003-r1)
(10/11) Installing sqlite-libs (3.24.0-r1)
(11/11) Installing python3 (3.6.6-r2)
Executing busybox-1.28.4-r1.trigger
OK: 67 MiB in 24 packages

/ # python3
Error relocating /usr/lib/libpython3.6m.so.1.0: getrandom: symbol not found

由于某种原因,libpython3.6m.so.1.0与阿尔卑斯山不兼容

1 个答案:

答案 0 :(得分:1)

似乎与旧版musl不兼容,可以通过以下方式轻松解决

/ # apk upgrade musl
(1/8) Upgrading musl (1.1.19-r10 -> 1.1.20-r2)
(2/8) Upgrading busybox (1.28.4-r1 -> 1.29.3-r0)
Executing busybox-1.29.3-r0.post-upgrade
(3/8) Upgrading alpine-baselayout (3.1.0-r0 -> 3.1.0-r2)
Executing alpine-baselayout-3.1.0-r2.pre-upgrade
Executing alpine-baselayout-3.1.0-r2.post-upgrade
(4/8) Upgrading libressl2.7-libcrypto (2.7.4-r0 -> 2.7.4-r1)
(5/8) Upgrading libressl2.7-libssl (2.7.4-r0 -> 2.7.4-r1)
(6/8) Upgrading libressl2.7-libtls (2.7.4-r0 -> 2.7.4-r1)
(7/8) Upgrading ssl_client (1.28.4-r1 -> 1.29.3-r0)
(8/8) Upgrading musl-utils (1.1.19-r10 -> 1.1.20-r2)
Executing busybox-1.29.3-r0.trigger
OK: 67 MiB in 24 packages
/ # python3
Python 3.6.6 (default, Oct 18 2018, 16:04:36) 
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>