ptitSeb / box64

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

Cannot start Viber #187

Open sunarowicz opened 2 years ago

sunarowicz commented 2 years ago

Earlier Viber was not able to start because of not being able to load libglib-2.0.so.0. Upgrading box64 to version 0.1.6 solved that. Thank you for this version! But now it still cannot start because of not being able to load other libraries, see below:

BOX64_LD_LIBRARY_PATH=/usr/lib box64 viber
Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL ATOMICS PageSize:4096
Box64 with Dynarec v0.1.6 8c91d76 built on Dec  4 2021 21:03:21
BOX64_LD_LIBRARY_PATH: /usr/lib/
Using default BOX64_PATH: ./:bin/
Counted 62 Env var
Looking for viber
Using native(wrapped) libXss.so.1
Using emulated /opt/viber/lib/libqrencode.so
Using native(wrapped) libXext.so.6
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) libpthread.so.0
Using emulated /opt/viber/lib/libViberRTC.so
Using emulated /opt/viber/lib/libicui18n.so.60
Using emulated /opt/viber/lib/libicuuc.so.60
Using emulated /opt/viber/lib/libQt5Sql.so.5
Using emulated /opt/viber/lib/libQt5Widgets.so.5
Using emulated /opt/viber/lib/libQt5Multimedia.so.5
Using emulated /opt/viber/lib/libQt5WebSockets.so.5
Using emulated /opt/viber/lib/libQt5WebEngine.so.5
Using emulated /opt/viber/lib/libQt5WebEngineCore.so.5
Using emulated /opt/viber/lib/libQt5Quick.so.5
Using emulated /opt/viber/lib/libQt5Gui.so.5
Using emulated /opt/viber/lib/libQt5Qml.so.5
Using emulated /opt/viber/lib/libQt5Network.so.5
Using emulated /opt/viber/lib/libQt5DBus.so.5
Using emulated /opt/viber/lib/libQt5Core.so.5
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) librt.so.1
Using native(wrapped) libz.so.1
Using emulated /opt/viber/lib/libicudata.so.60
Using native(wrapped) libdl.so.2
Using native(wrapped) libglib-2.0.so.0
Using native(wrapped) libGL.so.1
Using native(wrapped) libpng16.so.16
Error loading needed lib libharfbuzz.so.0
Error loading one of needed lib
Error initializing needed lib libQt5Gui.so.5
Error loading one of needed lib
Error initializing needed lib libQt5Widgets.so.5
Error loading one of needed lib
Error: loading needed libs in elf /opt/viber/Viber

All libharfbuzz.so.0, libQt5Gui.so.5 and libQt5Widgets.so.5 libraries are installed in /usr/lib of my Manjaro ARM (aarch64) system. What could be wrong and how to solve that?

ptitSeb commented 2 years ago

That's because libharfbuzz.so.0 is not wrapped in box64. So for now you need to find the x86_64 version of it and put it in the /opt/viber/lib/ folder.

sunarowicz commented 2 years ago

Thank you so much, that really helped! I copied all x86_64 libraries box64 was asking for into /opt/viber/lib. I was just surprised that I had to physically copy them into this particular directory. Having them in /opt/viber/lib64 nor in /opt/viber/x86_64, both listed in BOX64_LD_LIBRARY_PATH, did not worked. But never mind. The problem is that starting Viber still fails because of this problem now:

box64 viber
Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL ATOMICS PageSize:4096
Box64 with Dynarec v0.1.6 8c91d76 built on Dec  4 2021 21:03:21
Using default BOX64_LD_LIBRARY_PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/
Using default BOX64_PATH: ./:bin/
Counted 62 Env var
Looking for viber
Using native(wrapped) libXss.so.1
Using emulated /opt/viber/lib/libqrencode.so
Using native(wrapped) libXext.so.6
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) libpthread.so.0
Using emulated /opt/viber/lib/libViberRTC.so
Using emulated /opt/viber/lib/libicui18n.so.60
Using emulated /opt/viber/lib/libicuuc.so.60
Using emulated /opt/viber/lib/libQt5Sql.so.5
Using emulated /opt/viber/lib/libQt5Widgets.so.5
Using emulated /opt/viber/lib/libQt5Multimedia.so.5
Using emulated /opt/viber/lib/libQt5WebSockets.so.5
Using emulated /opt/viber/lib/libQt5WebEngine.so.5
Using emulated /opt/viber/lib/libQt5WebEngineCore.so.5
Using emulated /opt/viber/lib/libQt5Quick.so.5
Using emulated /opt/viber/lib/libQt5Gui.so.5
Using emulated /opt/viber/lib/libQt5Qml.so.5
Using emulated /opt/viber/lib/libQt5Network.so.5
Using emulated /opt/viber/lib/libQt5DBus.so.5
Using emulated /opt/viber/lib/libQt5Core.so.5
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) librt.so.1
Using native(wrapped) libz.so.1
Using emulated /opt/viber/lib/libicudata.so.60
Using native(wrapped) libdl.so.2
Using native(wrapped) libglib-2.0.so.0
Using native(wrapped) libGL.so.1
Using native(wrapped) libpng16.so.16
Using emulated /opt/viber/lib/libharfbuzz.so.0
Using native(wrapped) libfreetype.so.6
Using emulated /opt/viber/lib/libgraphite2.so.3
Error: Global Symbol FT_Set_Var_Blend_Coordinates not found, cannot apply R_X86_64_GLOB_DAT @0x7188121a88 ((nil)) in /opt/viber/lib/libharfbuzz.so.0
Error: Global Symbol FT_Face_GetCharVariantIndex not found, cannot apply R_X86_64_GLOB_DAT @0x7188121b68 ((nil)) in /opt/viber/lib/libharfbuzz.so.0
Error: Global Symbol fstat64 not found, cannot apply R_X86_64_GLOB_DAT @0x7188121c58 ((nil)) in /opt/viber/lib/libharfbuzz.so.0
Error: Global Symbol FT_Done_MM_Var not found, cannot apply R_X86_64_GLOB_DAT @0x7188121e10 ((nil)) in /opt/viber/lib/libharfbuzz.so.0
Error: Global Symbol FT_Get_Var_Blend_Coordinates not found, cannot apply R_X86_64_GLOB_DAT @0x7188121fb0 ((nil)) in /opt/viber/lib/libharfbuzz.so.0
Using native(wrapped) libpulse.so.0
Using emulated /opt/viber/lib/libQt5WebChannel.so.5
Using emulated /opt/viber/lib/libQt5Positioning.so.5
Using native(wrapped) libnss3.so
Using native(wrapped) libnssutil3.so
Using native(wrapped) libnspr4.so
Using emulated /opt/viber/lib/libjpeg.so.8
Using native(wrapped) libXcomposite.so.1
Using native(wrapped) libXdamage.so.1
Using native(wrapped) libXfixes.so.3
Using native(wrapped) libXrender.so.1
Using native(wrapped) libXrandr.so.2
Using native(wrapped) libexpat.so.1
Using native(wrapped) libfontconfig.so.1
Using native(wrapped) libX11-xcb.so.1
Using emulated /opt/viber/lib/libxcb-dri3.so.0
Using native(wrapped) libXcursor.so.1
Using native(wrapped) libXi.so.6
Using native(wrapped) libdbus-1.so.3
Using native(wrapped) libasound.so.2
Using native(wrapped) libxml2.so.2
Using native(wrapped) libxslt.so.1
Using emulated /opt/viber/lib/libQt5QmlModels.so.5
Using emulated /opt/viber/plugins/platforms/libqxcb.so
Using emulated /opt/viber/plugins/platforms/../../lib/libQt5XcbQpa.so.5
Using emulated /opt/viber/lib/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 emulated /opt/viber/lib/libxcb-render-util.so.0
Using emulated /opt/viber/lib/libxcb-render.so.0
Using native(wrapped) libxcb-shape.so.0
Using emulated /opt/viber/lib/libxcb-sync.so.1
Using native(wrapped) libxcb-xfixes.so.0
Using emulated /opt/viber/lib/libxcb-xinerama.so.0
Using emulated /opt/viber/lib/libxcb-xkb.so.1
Using emulated /opt/viber/lib/libxcb-xinput.so.0
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
Error: Global Symbol xcb_str_sizeof not found, cannot apply R_X86_64_GLOB_DAT @0x71796defc8 ((nil)) in /opt/viber/lib/libxcb-render.so.0
Error: Global Symbol xcb_free_pixmap_checked not found, cannot apply R_X86_64_GLOB_DAT @0x718a0dfec0 ((nil)) in /opt/viber/lib/libxcb-render-util.so.0
Error: Global Symbol xcb_no_operation not found, cannot apply R_X86_64_GLOB_DAT @0x718a0dfec8 ((nil)) in /opt/viber/lib/libxcb-render-util.so.0
Error: Global Symbol xcb_create_pixmap_checked not found, cannot apply R_X86_64_GLOB_DAT @0x718a0dff18 ((nil)) in /opt/viber/lib/libxcb-render-util.so.0
Error: Global Symbol xcb_no_operation_checked not found, cannot apply R_X86_64_GLOB_DAT @0x718a0dff20 ((nil)) in /opt/viber/lib/libxcb-render-util.so.0
Error: Global Symbol xcb_str_sizeof not found, cannot apply R_X86_64_GLOB_DAT @0x71793f8ee8 ((nil)) in /opt/viber/lib/libxcb-xinput.so.0
Error: PltResolver: Symbol xcb_randr_get_output_info_name_length(ver 0: xcb_randr_get_output_info_name_length) not found, cannot apply R_X86_64_JUMP_SLOT 0x71799f3b90 (0x7179712dc6) in /opt/viber/plugins/platforms/../../lib/libQt5XcbQpa.so.5
Stop waiting for remaining thread 14582
zsh: abort      box64 viber

Does that have any solution too?

ptitSeb commented 2 years ago

Yes, I need to add all the missing symbol to box64. I'll do that later.

sunarowicz commented 2 years ago

Great. Thank you for your support!

rajdakin commented 3 months ago

Is this fixed now?