ptitSeb / box64

Box64 - Linux Userspace x86_64 Emulator with a twist, targeted at ARM64 Linux devices
https://box86.org
MIT License
3.89k stars 286 forks source link

Error : Symbol ucnv_getDefaultName_72 #1428

Open lanosr opened 7 months ago

lanosr commented 7 months ago

Hello, I'm trying to run the 86_64 software "Chinese text analyser" on my debian arm64 machine (rooted smartphone with chroot environment). I manually loaded the missing libs, but I still get an error symbol. Here is the log :

@localhost:~/qt5libs$ box64 /opt/ChineseTextAnalyser/bin/cta
Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL ATOMICS SHA1 SHA2 USCAT FLAGM FLAGM2 FRINT PageSize:4096 Running on Cortex-A510 Cortex-A715 Cortex-A710 - with 8 Cores
Will use Hardware counter measured at 19.2 MHz emulating 614 MHz
Params database has 61 entries
Box64 with Dynarec v0.2.7 b77c8fe5 built on Apr  8 2024 06:25:10
BOX64: Didn't detect 48bits of address space, considering it's 39bits
Counted 31 Env var
BOX64 LIB PATH: /home/user/qt5libs/extracted/usr/lib/x86_64-linux-gnu/:/opt/ChineseTextAnalyser/lib/:/home/user/qt5libs/extracted/icu/usr/lib/x86_64-linux-gnu/:/lib/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/
BOX64 BIN PATH: /home/user/wine64/bin/:/home/user/.cargo/bin/:/usr/local/bin/:/usr/bin/:/bin/:/usr/local/games/:/usr/games/
Looking for /opt/ChineseTextAnalyser/bin/cta
Rename process to "cta"
Using emulated /opt/ChineseTextAnalyser/lib/libcurl.so.4
Using native(wrapped) libdl.so.2
Using emulated /opt/ChineseTextAnalyser/lib/libcrypto.so.38
Using native(wrapped) libpthread.so.0
Using emulated /home/user/qt5libs/extracted/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
Using emulated /home/user/qt5libs/extracted/usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
Using emulated /home/user/qt5libs/extracted/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
Using native(wrapped) libuuid.so.1
Using native(wrapped) libz.so.1
Using emulated /lib/x86_64-linux-gnu/libstdc++.so.6
Using native(wrapped) libm.so.6
Using emulated /lib/x86_64-linux-gnu/libgcc_s.so.1
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 /home/user/qt5libs/extracted/usr/lib/x86_64-linux-gnu/libdouble-conversion.so.3
Using native(wrapped) libicui18n.so.72
Using native(wrapped) libicuuc.so.72
Using emulated /home/user/qt5libs/extracted/usr/lib/x86_64-linux-gnu/libpcre2-16.so.0
Using emulated /home/user/qt5libs/extracted/usr/lib/x86_64-linux-gnu/libzstd.so.1
Using native(wrapped) libglib-2.0.so.0
Using native(wrapped) libGL.so.1
Using native(wrapped) libpng16.so.16
Using native(wrapped) libharfbuzz.so.0
Using emulated /home/user/qt5libs/extracted/usr/lib/x86_64-linux-gnu/libmd4c.so.0
Using emulated /opt/ChineseTextAnalyser/lib/libssl.so.39
Error: PltResolver: Symbol  ucnv_getDefaultName_72(ver 1: ucnv_getDefaultName_72) not found, cannot apply R_X86_64_JUMP_SLOT 0x3f0454e708 (0x3f0408ee46) in /home/user/qt5libs/extracted/usr/lib/x86_64-linux-gnu/libQt5Core.so.5 (local_maplib=(nil), global maplib=0x4697c290, deepbind=0)
Error: PltResolver: Symbol  ucnv_getDefaultName_72(ver 1: ucnv_getDefaultName_72) not found, cannot apply R_X86_64_JUMP_SLOT 0x3f0454e708 (0x3f0408ee46) in /home/user/qt5libs/extracted/usr/lib/x86_64-linux-gnu/libQt5Core.so.5 (local_maplib=(nil), global maplib=0x4697c290, deepbind=0)

Any idea how to resolve this problem? Looking forward to any input. Thank you

ptitSeb commented 7 months ago

Ok, I have just added that function. But some more might be missing.

lanosr commented 7 months ago

Ok, I have just added that function. But some more might be missing.

Hello, thank you. I updated to the last commit but I still get the same error. Anyway, I also tried to use the emulate version of libicuuc72 and now I get a segmentation fault error. Any hint please?


user@localhost:~$ box64 /opt/ChineseTextAnalyser/bin/cta
Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL ATOMICS SHA1 SHA2 USCAT FLAGM FLAGM2 FRINT PageSize:4096 Running on Cortex-A510 Cortex-A715 Cortex-A710 - with 8 Cores
Will use Hardware counter measured at 19.2 MHz emulating 614 MHz
Params database has 61 entries
Box64 with Dynarec v0.2.7 eda857cb built on Apr  9 2024 06:24:54
BOX64: Didn't detect 48bits of address space, considering it's 39bits
BOX64 will force the used of emulated libs for libicuuc.so.72 libicuda 
Counted 32 Env var
BOX64 LIB PATH: /home/user/qt5libs/extracted/libqt5dbus/usr/lib/x86_64-linux-gnu/:/home/user/qt5libs/extracted/usr/lib/x86_64-linux-gnu/:/opt/ChineseTextAnalyser/lib/:/home/user/qt5libs/extracted/icu/usr/lib/x86_64-linux-gnu/:/home/user/qt5libs/extracted/libc6/lib/x86_64-linux-gnu/:/lib/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/
BOX64 BIN PATH: /home/user/wine64/bin/:/home/user/.cargo/bin/:/usr/local/bin/:/usr/bin/:/bin/:/usr/local/games/:/usr/games/
Looking for /opt/ChineseTextAnalyser/bin/cta
Rename process to "cta"
Using emulated /opt/ChineseTextAnalyser/lib/libcurl.so.4
Using native(wrapped) libdl.so.2
Using emulated /opt/ChineseTextAnalyser/lib/libcrypto.so.38
Using native(wrapped) libpthread.so.0
Using emulated /home/user/qt5libs/extracted/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
Using emulated /home/user/qt5libs/extracted/usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
Using emulated /home/user/qt5libs/extracted/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
Using native(wrapped) libuuid.so.1
Using native(wrapped) libz.so.1
Using emulated /lib/x86_64-linux-gnu/libstdc++.so.6
Using native(wrapped) libm.so.6
Using emulated /lib/x86_64-linux-gnu/libgcc_s.so.1
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 /home/user/qt5libs/extracted/usr/lib/x86_64-linux-gnu/libdouble-conversion.so.3
Using native(wrapped) libicui18n.so.72
Using emulated /home/user/qt5libs/extracted/usr/lib/x86_64-linux-gnu/libicuuc.so.72
Using emulated /home/user/qt5libs/extracted/usr/lib/x86_64-linux-gnu/libicudata.so.72
Using emulated /home/user/qt5libs/extracted/usr/lib/x86_64-linux-gnu/libpcre2-16.so.0
Using emulated /home/user/qt5libs/extracted/usr/lib/x86_64-linux-gnu/libzstd.so.1
Using native(wrapped) libglib-2.0.so.0
Using native(wrapped) libGL.so.1
Using native(wrapped) libpng16.so.16
Using native(wrapped) libharfbuzz.so.0
Using emulated /home/user/qt5libs/extracted/usr/lib/x86_64-linux-gnu/libmd4c.so.0
Using emulated /opt/ChineseTextAnalyser/lib/libssl.so.39
Using emulated /home/user/qt5libs/extracted/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqxcb.so
Using emulated /home/user/qt5libs/extracted/usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
Using native(wrapped) libfontconfig.so.1
Using native(wrapped) libexpat.so.1
Using native(wrapped) libfreetype.so.6
Using emulated /home/user/qt5libs/extracted/libqt5dbus/usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
Using native(wrapped) libX11-xcb.so.1
Using native(wrapped) libxcb-icccm.so.4
Using native(wrapped) libxcb-image.so.0
Using native(wrapped) libxcb-shm.so.0
Using native(wrapped) libxcb-keysyms.so.1
Using native(wrapped) libxcb-randr.so.0
Using native(wrapped) libxcb-render-util.so.0
Using native(wrapped) libxcb-render.so.0
Using native(wrapped) libxcb-shape.so.0
Using native(wrapped) libxcb-sync.so.1
Using native(wrapped) libxcb-xfixes.so.0
Using native(wrapped) libxcb-xinerama.so.0
Using native(wrapped) libxcb-xkb.so.1
Using native(wrapped) libxcb-xinput.so.0
Using native(wrapped) libxcb.so.1
Using native(wrapped) libXau.so.6
Using native(wrapped) libXdmcp.so.6
Using native(wrapped) libXrender.so.1
Using native(wrapped) libX11.so.6
Using native(wrapped) libSM.so.6
Using native(wrapped) libICE.so.6
Using native(wrapped) libxkbcommon-x11.so.0
Using native(wrapped) libxkbcommon.so.0
Using native(wrapped) libdbus-1.so.3
Using native(wrapped) libXcursor.so.1
Using native(wrapped) libXfixes.so.3
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-user'
libpng warning: Application jmp_buf size changed
23711|SIGSEGV @0x34f3371c (my___sigsetjmp(/opt/ChineseTextAnalyser/bin/cta)) (x64pc=0x71fb3/???:"???", rsp=0x7b839baae8, stack=0x7b831bd000:0x7b839bd000 own=(nil) fp=0x7b839baf40), for accessing (nil) (code=1/prot=0), db=(nil)((nil):(nil)/(nil):(nil)/???:clean, hash:0/0) handler=(nil)
RSP-0x20:0xb229bab891314800 RSP-0x18:0x000000004fc8b950 RSP-0x10:0x0000000000010080 RSP-0x08:0x0000007b839baf40
RSP+0x00:0x0000003f031f6609 RSP+0x08:0x000000004fd64010 RSP+0x10:0x0000007b839baf40 RSP+0x18:0x0000000000000001
RAX:0x0000000000000000 RCX:0x000000004fd6a838 RDX:0x0000000000000000 RBX:0x0000007b839baf98 
RSP:0x0000007b839baae8 RBP:0x0000007b839baf40 RSI:0x0000000035926ce0 RDI:0x0000000000000000 
 R8:0x000000004fd644d8  R9:0x0000000000004000 R10:0x0000000000000000 R11:0x00000000ffffffff 
R12:0x0000007b839baed0 R13:0x000000004fc8b950 R14:0x0000003f031f4f20 R15:0x0000007b839bc058 
ES:0x002b CS:0x0033 SS:0x002b DS:0x002b FS:0x0043 GS:0x0053 
Segmentation fault
ptitSeb commented 7 months ago

There is something wrong, you should not have the exact same error with the updated box64. There might still be some Symbol error, but it should be a different symbol name.

About the new segfault, you should try to emulate libpng16.so.16 also.

lanosr commented 7 months ago

There is something wrong, you should not have the exact same error with the updated box64. There might still be some Symbol error, but it should be a different symbol name.

About the new segfault, you should try to emulate libpng16.so.16 also.

Well, I'm on last version :

user@localhost:~/Desktop$ box64 -v
Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL ATOMICS SHA1 SHA2 USCAT FLAGM FLAGM2 FRINT PageSize:4096 Running on Cortex-A510 Cortex-A715 Cortex-A710 - with 8 Cores
Will use Hardware counter measured at 19.2 MHz emulating 614 MHz
Params database has 61 entries
Box64 with Dynarec v0.2.7 eda857cb built on Apr  9 2024 06:24:54

Also I tried to emulate libpng16.so.16, but still same seg fault :/


user@localhost:~/Desktop$ box64 /opt/ChineseTextAnalyser/bin/cta
Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL ATOMICS SHA1 SHA2 USCAT FLAGM FLAGM2 FRINT PageSize:4096 Running on Cortex-A510 Cortex-A715 Cortex-A710 - with 8 Cores
Will use Hardware counter measured at 19.2 MHz emulating 614 MHz
Params database has 61 entries
Box64 with Dynarec v0.2.7 eda857cb built on Apr  9 2024 06:24:54
BOX64: Didn't detect 48bits of address space, considering it's 39bits
BOX64 will force the used of emulated libs for libicuuc.so.72 libicuda libpng16.so.16 
Counted 31 Env var
BOX64 LIB PATH: /home/user/qt5libs/extracted/libqt5dbus/usr/lib/x86_64-linux-gnu/:/home/user/qt5libs/extracted/usr/lib/x86_64-linux-gnu/:/opt/ChineseTextAnalyser/lib/:/home/user/qt5libs/extracted/icu/usr/lib/x86_64-linux-gnu/:/home/user/qt5libs/extracted/libc6/lib/x86_64-linux-gnu/:/lib/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/
BOX64 BIN PATH: /home/user/wine64/bin/:/home/user/.cargo/bin/:/usr/local/bin/:/usr/bin/:/bin/:/usr/local/games/:/usr/games/
Looking for /opt/ChineseTextAnalyser/bin/cta
Rename process to "cta"
Using emulated /opt/ChineseTextAnalyser/lib/libcurl.so.4
Using native(wrapped) libdl.so.2
Using emulated /opt/ChineseTextAnalyser/lib/libcrypto.so.38
Using native(wrapped) libpthread.so.0
Using emulated /home/user/qt5libs/extracted/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
Using emulated /home/user/qt5libs/extracted/usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
Using emulated /home/user/qt5libs/extracted/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
Using native(wrapped) libuuid.so.1
Using native(wrapped) libz.so.1
Using emulated /lib/x86_64-linux-gnu/libstdc++.so.6
Using native(wrapped) libm.so.6
Using emulated /lib/x86_64-linux-gnu/libgcc_s.so.1
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 /home/user/qt5libs/extracted/usr/lib/x86_64-linux-gnu/libdouble-conversion.so.3
Using native(wrapped) libicui18n.so.72
Using emulated /home/user/qt5libs/extracted/usr/lib/x86_64-linux-gnu/libicuuc.so.72
Using emulated /home/user/qt5libs/extracted/usr/lib/x86_64-linux-gnu/libicudata.so.72
Using emulated /home/user/qt5libs/extracted/usr/lib/x86_64-linux-gnu/libpcre2-16.so.0
Using emulated /home/user/qt5libs/extracted/usr/lib/x86_64-linux-gnu/libzstd.so.1
Using native(wrapped) libglib-2.0.so.0
Using native(wrapped) libGL.so.1
Using emulated /home/user/qt5libs/extracted/usr/lib/x86_64-linux-gnu/libpng16.so.16
Using native(wrapped) libharfbuzz.so.0
Using emulated /home/user/qt5libs/extracted/usr/lib/x86_64-linux-gnu/libmd4c.so.0
Using emulated /opt/ChineseTextAnalyser/lib/libssl.so.39
Using emulated /home/user/qt5libs/extracted/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqxcb.so
Using emulated /home/user/qt5libs/extracted/usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
Using native(wrapped) libfontconfig.so.1
Using native(wrapped) libexpat.so.1
Using native(wrapped) libfreetype.so.6
Using emulated /home/user/qt5libs/extracted/libqt5dbus/usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
Using native(wrapped) libX11-xcb.so.1
Using native(wrapped) libxcb-icccm.so.4
Using native(wrapped) libxcb-image.so.0
Using native(wrapped) libxcb-shm.so.0
Using native(wrapped) libxcb-keysyms.so.1
Using native(wrapped) libxcb-randr.so.0
Using native(wrapped) libxcb-render-util.so.0
Using native(wrapped) libxcb-render.so.0
Using native(wrapped) libxcb-shape.so.0
Using native(wrapped) libxcb-sync.so.1
Using native(wrapped) libxcb-xfixes.so.0
Using native(wrapped) libxcb-xinerama.so.0
Using native(wrapped) libxcb-xkb.so.1
Using native(wrapped) libxcb-xinput.so.0
Using native(wrapped) libxcb.so.1
Using native(wrapped) libXau.so.6
Using native(wrapped) libXdmcp.so.6
Using native(wrapped) libXrender.so.1
Using native(wrapped) libX11.so.6
Using native(wrapped) libSM.so.6
Using native(wrapped) libICE.so.6
Using native(wrapped) libxkbcommon-x11.so.0
Using native(wrapped) libxkbcommon.so.0
Using native(wrapped) libdbus-1.so.3
Using native(wrapped) libXcursor.so.1
Using native(wrapped) libXfixes.so.3
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-user'
32036|SIGSEGV @0x71c40a1b04 (xcb_image_put(/lib/aarch64-linux-gnu/libxcb-image.so.0)) (x64pc=0x150033/???:"???", rsp=0x71c978ac88, stack=0x71c8f8d000:0x71c978d000 own=(nil) fp=0x7d0), for accessing 0xc978ad72 (code=1/prot=0), db=(nil)((nil):(nil)/(nil):(nil)/???:clean, hash:0/0) handler=(nil)
RSP-0x20:0x0000003f02197e47 RSP-0x18:0x0000000000000000 RSP-0x10:0x0000000064086150 RSP-0x08:0x0000000000000282
RSP+0x00:0x0000003f110631f3 RSP+0x08:0x0000000000000000 RSP+0x10:0x0000003f110631cb RSP+0x18:0x0000000000000004
RAX:0x00000000640f8c10 RCX:0x00000071c978ad70 RDX:0x0000000002e0000d RBX:0x000000000000012c 
RSP:0x00000071c978ac88 RBP:0x00000000000007d0 RSI:0x0000000002e0000c RDI:0x0000000035f2f630 
 R8:0x0000000000000000  R9:0x0000000000000000 R10:0x0000000000000000 R11:0x0000000000000000 
R12:0x000000000000012c R13:0x00000071c978ad50 R14:0x000000006434c400 R15:0x00000071c978ad70 
ES:0x002b CS:0x0033 SS:0x002b DS:0x002b FS:0x0043 GS:0x0053 
Segmentation fault
LukeShortCloud commented 1 week ago

@lanosr Seb added another wrapped function for this. Does it work now?