python: ctypes.util.find_library() does not work (regresion of bug #2012)
Seems a regresion of bug #2012, for alpine versions >2.7.
It seems related to python ctypes.util.find_library() implementation, based on ldconfig -p 2.
On alpine < 3.1, *ldconfig -p 2 worked ok:
/ # ldconfig -p 2
32 libs found in cache `/etc/ld.so.cache' (version 1.7.0)
libz.so.1 (ELF) => /lib/libz.so.1
libutil.so.0.9.32 (ELF) => /lib/libutil.so.0.9.32
libubacktrace.so.0.9.32 (ELF) => /lib/libubacktrace.so.0.9.32
libssl.so.1.0.0 (ELF) => /lib/libssl.so.1.0.0
libssl.so.1.0.0 (ELF) => /usr/lib/libssl.so.1.0.0
libsqlite3.so.0 (ELF) => /usr/lib/libsqlite3.so.0
libsqlite3.so (ELF) => /usr/lib/libsqlite3.so
librt.so.0.9.32 (ELF) => /lib/librt.so.0.9.32
libresolv.so.0.9.32 (ELF) => /lib/libresolv.so.0.9.32
libreadline.so.6 (ELF) => /usr/lib/libreadline.so.6
librc.so.1 (ELF) => /lib/librc.so.1
libpython2.7.so.1.0 (ELF) => /usr/lib/libpython2.7.so.1.0
libpthread.so.0.9.32 (ELF) => /lib/libpthread.so.0.9.32
libpanel.so.5 (ELF) => /usr/lib/libpanel.so.5
libncurses.so.5 (ELF) => /usr/lib/libncurses.so.5
libmenu.so.5 (ELF) => /usr/lib/libmenu.so.5
libm.so.0.9.32 (ELF) => /lib/libm.so.0.9.32
libhistory.so.6 (ELF) => /usr/lib/libhistory.so.6
libgdbm_compat.so.4 (ELF) => /usr/lib/libgdbm_compat.so.4
libgdbm.so.4 (ELF) => /usr/lib/libgdbm.so.4
libgcc_s.so.1 (ELF) => /usr/lib/libgcc_s.so.1
libform.so.5 (ELF) => /usr/lib/libform.so.5
libffi.so.6 (ELF) => /usr/lib/libffi.so.6
libexpat.so.1 (ELF) => /usr/lib/libexpat.so.1
libeinfo.so.1 (ELF) => /lib/libeinfo.so.1
libdl.so.0.9.32 (ELF) => /lib/libdl.so.0.9.32
libcrypto.so.1.0.0 (ELF) => /lib/libcrypto.so.1.0.0
libcrypto.so.1.0.0 (ELF) => /usr/lib/libcrypto.so.1.0.0
libcrypt.so.0.9.32 (ELF) => /lib/libcrypt.so.0.9.32
libc.so.0.9.32 (ELF) => /lib/libc.so.0.9.32
libbz2.so.1 (ELF) => /usr/lib/libbz2.so.1
ld64-uClibc.so.0.9.32 (ELF) => /lib/ld64-uClibc.so.0.9.32
But fails on alpine >3.1:
/app # ldconfig -p 2
Illegal option -p
Way to reproduce:
Test ctypes.util.find_library() on alpine versions under docker:
-
works on 2.6, 2.7 docker run --rm -ti alpine:2.6 sh -c "apk update && apk add python && python -c 'from ctypes.util import find_library;print find_library("c")'" [...] libc.so.0.9.32
docker run --rm -ti alpine:2.7 sh -c "apk update && apk add python && python -c 'from ctypes.util import find_library;print find_library(\"c\")'" [...] libc.so.0.9.32
- does not work on 3.1, 3.2: docker run --rm -ti alpine:3.1 sh -c "apk update && apk add python && python -c 'from ctypes.util import find_library;print find_library("c")'" [...] None
(from redmine: issue id 4512, created on 2015-08-06, closed on 2015-08-13)
- Relations:
- relates #5038 (closed)
- relates #5264 (closed)
- Changesets:
- Revision 837f731a by Natanael Copa on 2015-08-11T09:19:42Z:
main/python: fix find_library with musl
ref #4512
- Revision 78e9529b by Natanael Copa on 2015-08-13T12:26:50Z:
main/python: fix find_library with musl
fixes #4512
(cherry picked from commit 837f731a38d0a2c1c20c6a4f86cd5368ff02a23b)
- Revision 2bdc331e by Natanael Copa on 2016-06-29T09:20:45Z:
main/python: fix find_library with musl
fixes #4512
(cherry picked from commit 78e9529bfe15f2cff42b4e124ebfb82c5707669d)
Conflicts:
main/python/APKBUILD