X-Original-To: alpine-devel@lists.alpinelinux.org Received: from mx2fcf.netcup.net (mx2fcf.netcup.net [188.68.47.207]) by lists.alpinelinux.org (Postfix) with ESMTP id 176E5F85493 for ; Tue, 4 Jun 2019 19:22:15 +0000 (UTC) Received: from imac.lan (085-222-214-021.dyn.ip-net.buchholz-digital.de [85.222.214.21]) by mx2fcf.netcup.net (Postfix) with ESMTPSA id 75E6812096C for ; Tue, 4 Jun 2019 21:22:14 +0200 (CEST) Authentication-Results: mx2fcf; spf=pass (sender IP is 85.222.214.21) smtp.mailfrom=list@bernhard-ehlers.de smtp.helo=imac.lan Received-SPF: pass (mx2fcf: connection is authenticated) From: Bernhard Ehlers Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Mailinglist: alpine-devel Precedence: list List-Id: Alpine Development List-Unsubscribe: List-Post: List-Help: List-Subscribe: Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\)) Subject: [alpine-devel] py3-cx_freeze not compatible with python3.7 on alpine 3.10rc1 Message-Id: Date: Tue, 4 Jun 2019 21:22:13 +0200 To: alpine-devel@lists.alpinelinux.org X-Mailer: Apple Mail (2.3445.9.1) X-PPP-Message-ID: <20190604192214.18818.79824@mx2fcf.netcup.net> X-PPP-Vhost: bernhard-ehlers.de cx_freeze v5.1.1 is not compatible with python3.7, so the py3-cx_freeze = package won=E2=80=99t work in alpine 3.10. Here a test with alpine 3.10rc1, that works fine with alpine 3.9 (and = it=E2=80=99s python 3.6):=20 ~ # echo 'print("Hallo world!")' > hello.py ~ # python3 hello.py Hallo world! ~ # cp -p /usr/bin/ldd . ~ # cxfreeze hello.py =E2=80=A6 lots of output ... ~ # dist/hello Fatal Python error: initfsencoding: Unable to get the locale encoding ImportError: invalid flags 1556882925 in 'encodings' Current thread 0x00007f8e2c36fd48 (most recent call first): Aborted ~ #=20 Three alternatives come into my mind: - drop cx_freeze - patch cx_freeze v5.1.1, = https://github.com/msys2/MINGW-packages/commit/4c18633ba2331d980f00aff075f= 17135399c43c5 might help, but I haven=E2=80=99t tested it. - use the cx_freeze beta version 6.0b1, but I have no idea what issue = that version has BTW: The ldd program (in all alpine versions) creates invalid output in = case you use it on a library, here an example: ~ # ldd /lib/libssl.so.1.1=20 ldd (0x7ffb49916000) libcrypto.so.1.1 =3D> /lib/libcrypto.so.1.1 (0x7ffb49618000) libc.musl-x86_64.so.1 =3D> ldd (0x7ffb49916000) The loader ld-musl-x86_64.so.1 and libc.musl-x86_64.so.1 point to "ldd", = what's totally wrong. That's why you have to copy the ldd binary to your = current directory before using cx_freeze. Here my alternative ldd, it works much better with cx_freeze (and = pyinstaller): #!!/bin/sh exec /lib/ld-musl-* --list -- "$@" Here an example, with more reasonable results: ~ # ldd.new /lib/libssl.so.1.1 /lib/ld-musl-x86_64.so.1 (0x7fa671495000) libcrypto.so.1.1 =3D> /lib/libcrypto.so.1.1 (0x7fa671197000) libc.musl-x86_64.so.1 =3D> /lib/ld-musl-x86_64.so.1 = (0x7fa671495000) --- Unsubscribe: alpine-devel+unsubscribe@lists.alpinelinux.org Help: alpine-devel+help@lists.alpinelinux.org ---