PyInstaller Application Won't Run
I am developing a Python application that installs and manages a Windows program. The app is distributed through a prebuilt binary created from PyInstaller.
I built the latest box64 source and I am seeing the following error when attempting to run the prebuilt x86_64 pyinstaller binary.
This is not the biggest of concerns to me as I can always build a separate ARM64 prebuilt binary, but I thought I should share this.
Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL ATOMICS SHA1 SHA2 PageSize:4096 Running on Cortex-A55 with 4 Cores
Will use Hardware counter measured at 24.0 MHz emulating 3.0 GHz
Params database has 90 entries
Box64 with Dynarec v0.3.1 1978ec8b built on Sep 19 2024 22:05:34
BOX64: Detected 48bits at least of address space
Counted 73 Env var
BOX64 LIB PATH: BOX64 BIN PATH: ./:bin/:/home/thwright/bin/:/usr/local/sbin/:/usr/local/bin/:/usr/bin/:/var/lib/flatpak/exports/bin/:/usr/lib/jvm/default/bin/:/usr/bin/site_perl/:/usr/bin/vendor_perl/:/usr/bin/core_perl/:/var/lib/snapd/snap/bin/:/home/thwright/.local/bin/:/home/thwright/bin/
Looking for ./Downloads/LogosLinuxInstaller
Apply RC params for LogosLinuxInstaller
Applying BOX64_DYNAREC_BIGBLOCK=0
Applying BOX64_DYNAREC_SAFEFLAGS=2
Applying BOX64_DYNAREC_CALLRET=0
Rename process to "LogosLinuxInstaller"
Using native(wrapped) libdl.so.2
Using native(wrapped) libz.so.1
Using native(wrapped) libpthread.so.0
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) libutil.so.1
Using native(wrapped) librt.so.1
Using native(wrapped) libbsd.so.0
Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL ATOMICS SHA1 SHA2 PageSize:4096 Running on Cortex-A55 with 4 Cores
Will use Hardware counter measured at 24.0 MHz emulating 3.0 GHz
Params database has 90 entries
Box64 with Dynarec v0.3.1 1978ec8b built on Sep 19 2024 22:05:34
BOX64: Detected 48bits at least of address space
Counted 78 Env var
BOX64 LIB PATH: BOX64 BIN PATH: ./:bin/:/home/thwright/bin/:/usr/local/sbin/:/usr/local/bin/:/usr/bin/:/var/lib/flatpak/exports/bin/:/usr/lib/jvm/default/bin/:/usr/bin/site_perl/:/usr/bin/vendor_perl/:/usr/bin/core_perl/:/var/lib/snapd/snap/bin/:/home/thwright/.local/bin/:/home/thwright/bin/
Looking for /home/thwright/Downloads/LogosLinuxInstaller
Apply RC params for LogosLinuxInstaller
Applying BOX64_DYNAREC_BIGBLOCK=0
Applying BOX64_DYNAREC_SAFEFLAGS=2
Applying BOX64_DYNAREC_CALLRET=0
Rename process to "LogosLinuxInstaller"
Using native(wrapped) libdl.so.2
Using native(wrapped) libz.so.1
Using native(wrapped) libpthread.so.0
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) libutil.so.1
Using native(wrapped) librt.so.1
Using native(wrapped) libbsd.so.0
Using emulated /tmp/_MEIFLb82B/libpython3.12.so.1.0
Using native(wrapped) libm.so.6
Using emulated /tmp/_MEIFLb82B/lib-dynload/_struct.cpython-312-x86_64-linux-gnu.so
Using emulated /tmp/_MEIFLb82B/lib-dynload/zlib.cpython-312-x86_64-linux-gnu.so
Using emulated /tmp/_MEIFLb82B/lib-dynload/_ctypes.cpython-312-x86_64-linux-gnu.so
Using emulated /tmp/_MEIFLb82B/libffi.so.7
Using emulated /tmp/_MEIFLb82B/lib-dynload/_opcode.cpython-312-x86_64-linux-gnu.so
Using emulated /tmp/_MEIFLb82B/lib-dynload/math.cpython-312-x86_64-linux-gnu.so
Using emulated /tmp/_MEIFLb82B/lib-dynload/binascii.cpython-312-x86_64-linux-gnu.so
Using emulated /tmp/_MEIFLb82B/lib-dynload/_bisect.cpython-312-x86_64-linux-gnu.so
Using emulated /tmp/_MEIFLb82B/lib-dynload/_random.cpython-312-x86_64-linux-gnu.so
Using emulated /tmp/_MEIFLb82B/lib-dynload/_sha2.cpython-312-x86_64-linux-gnu.so
Using emulated /tmp/_MEIFLb82B/lib-dynload/_socket.cpython-312-x86_64-linux-gnu.so
Using emulated /tmp/_MEIFLb82B/lib-dynload/select.cpython-312-x86_64-linux-gnu.so
Using emulated /tmp/_MEIFLb82B/lib-dynload/array.cpython-312-x86_64-linux-gnu.so
Using emulated /tmp/_MEIFLb82B/lib-dynload/_datetime.cpython-312-x86_64-linux-gnu.so
Using emulated /tmp/_MEIFLb82B/lib-dynload/_bz2.cpython-312-x86_64-linux-gnu.so
Using native(wrapped) libbz2.so.1
Using emulated /tmp/_MEIFLb82B/lib-dynload/_lzma.cpython-312-x86_64-linux-gnu.so
Using native(wrapped) liblzma.so.5
Using emulated /tmp/_MEIFLb82B/lib-dynload/pyexpat.cpython-312-x86_64-linux-gnu.so
Using emulated /tmp/_MEIFLb82B/lib-dynload/fcntl.cpython-312-x86_64-linux-gnu.so
Using emulated /tmp/_MEIFLb82B/lib-dynload/_posixsubprocess.cpython-312-x86_64-linux-gnu.so
Using emulated /tmp/_MEIFLb82B/lib-dynload/_heapq.cpython-312-x86_64-linux-gnu.so
Using emulated /tmp/_MEIFLb82B/lib-dynload/_queue.cpython-312-x86_64-linux-gnu.so
Using emulated /tmp/_MEIFLb82B/lib-dynload/_hashlib.cpython-312-x86_64-linux-gnu.so
Using emulated /tmp/_MEIFLb82B/libcrypto.so.1.1
Using emulated /tmp/_MEIFLb82B/lib-dynload/_blake2.cpython-312-x86_64-linux-gnu.so
Using emulated /tmp/_MEIFLb82B/lib-dynload/_ssl.cpython-312-x86_64-linux-gnu.so
Using emulated /tmp/_MEIFLb82B/libssl.so.1.1
Using emulated /tmp/_MEIFLb82B/lib-dynload/grp.cpython-312-x86_64-linux-gnu.so
Using emulated /tmp/_MEIFLb82B/lib-dynload/_csv.cpython-312-x86_64-linux-gnu.so
Using emulated /tmp/_MEIFLb82B/lib-dynload/_json.cpython-312-x86_64-linux-gnu.so
Using emulated /tmp/_MEIFLb82B/lib-dynload/_pickle.cpython-312-x86_64-linux-gnu.so
Using emulated /tmp/_MEIFLb82B/lib-dynload/_tkinter.cpython-312-x86_64-linux-gnu.so
Using emulated /tmp/_MEIFLb82B/libtk8.6.so
Using emulated /tmp/_MEIFLb82B/libtcl8.6.so
Using native(wrapped) libXft.so.2
Using native(wrapped) libX11.so.6
Using native(wrapped) libxcb.so.1
Using native(wrapped) libXau.so.6
Using native(wrapped) libXdmcp.so.6
Using native(wrapped) libfontconfig.so.1
Using native(wrapped) libexpat.so.1
Using native(wrapped) libfreetype.so.6
Using native(wrapped) libXrender.so.1
Using native(wrapped) libXss.so.1
Using native(wrapped) libXext.so.6
Error: Symbol _XInitImageFuncPtrs not found, cannot apply R_X86_64_JUMP_SLOT @0x7fff20167178 (0x312f0) in /tmp/_MEIFLb82B/libtk8.6.so
Error: Symbol XftDrawGlyphFontSpec not found, cannot apply R_X86_64_JUMP_SLOT @0x7fff20167320 (0x31640) in /tmp/_MEIFLb82B/libtk8.6.so
Error: Symbol XftListFonts not found, cannot apply R_X86_64_JUMP_SLOT @0x7fff20167370 (0x316e0) in /tmp/_MEIFLb82B/libtk8.6.so
Error: Symbol XftCharIndex not found, cannot apply R_X86_64_JUMP_SLOT @0x7fff201673b8 (0x31770) in /tmp/_MEIFLb82B/libtk8.6.so
Error: Symbol XftGlyphExtents not found, cannot apply R_X86_64_JUMP_SLOT @0x7fff20167440 (0x31880) in /tmp/_MEIFLb82B/libtk8.6.so
Error: Symbol XftDefaultSubstitute not found, cannot apply R_X86_64_JUMP_SLOT @0x7fff20167560 (0x31ac0) in /tmp/_MEIFLb82B/libtk8.6.so
Error: Symbol XftXlfdParse not found, cannot apply R_X86_64_JUMP_SLOT @0x7fff201675d0 (0x31ba0) in /tmp/_MEIFLb82B/libtk8.6.so
Error: relocating Plt symbols in elf libtk8.6.so
Error initializing needed lib libc.so.6
Error loading one of needed lib
Error initializing needed lib /tmp/_MEIFLb82B/lib-dynload/_tkinter.cpython-312-x86_64-linux-gnu.so
Traceback (most recent call last):
File "main.py", line 4, in <module>
File "PyInstaller/loader/pyimod02_importers.py", line 378, in exec_module
File "control.py", line 19, in <module>
File "PyInstaller/loader/pyimod02_importers.py", line 378, in exec_module
File "msg.py", line 13, in <module>
File "PyInstaller/loader/pyimod02_importers.py", line 378, in exec_module
File "gui.py", line 1, in <module>
File "PyInstaller/loader/pyimod02_importers.py", line 378, in exec_module
File "tkinter/__init__.py", line 38, in <module>
ImportError: Cannot dlopen("/tmp/_MEIFLb82B/lib-dynload/_tkinter.cpython-312-x86_64-linux-gnu.so"/0x60b19be0, 2)
[PYI-4945:ERROR] Failed to execute script 'main' due to unhandled exception!
Is there any additional information I can supply? Is there something simple I have overlooked?
A few symbols are missing:
Error: Symbol _XInitImageFuncPtrs not found, cannot apply R_X86_64_JUMP_SLOT @0x7fff20167178 (0x312f0) in /tmp/_MEIFLb82B/libtk8.6.so
Error: Symbol XftDrawGlyphFontSpec not found, cannot apply R_X86_64_JUMP_SLOT @0x7fff20167320 (0x31640) in /tmp/_MEIFLb82B/libtk8.6.so
Error: Symbol XftListFonts not found, cannot apply R_X86_64_JUMP_SLOT @0x7fff20167370 (0x316e0) in /tmp/_MEIFLb82B/libtk8.6.so
Error: Symbol XftCharIndex not found, cannot apply R_X86_64_JUMP_SLOT @0x7fff201673b8 (0x31770) in /tmp/_MEIFLb82B/libtk8.6.so
Error: Symbol XftGlyphExtents not found, cannot apply R_X86_64_JUMP_SLOT @0x7fff20167440 (0x31880) in /tmp/_MEIFLb82B/libtk8.6.so
Error: Symbol XftDefaultSubstitute not found, cannot apply R_X86_64_JUMP_SLOT @0x7fff20167560 (0x31ac0) in /tmp/_MEIFLb82B/libtk8.6.so
Error: Symbol XftXlfdParse not found, cannot apply R_X86_64_JUMP_SLOT @0x7fff201675d0 (0x31ba0) in /tmp/_MEIFLb82B/libtk8.6.so
I'll add them.
Ok, all functions have been defined
@thw26 PyInstaller applications should be supported now. Feel free to re-open this if you encounter any further issues. Closing as resolved.