ptitSeb / box86

Box86 - Linux Userspace x86 Emulator with a twist, targeted at ARM Linux devices
https://box86.org
MIT License
3.36k stars 233 forks source link

Steam fail to start due to symbol err #959

Closed shenmo7192 closed 3 months ago

shenmo7192 commented 6 months ago
setup.sh[765339]: Steam runtime environment up-to-date!
steam.sh[765187]: Error: You are missing the following 32-bit libraries, and Steam may not run:
libc.so.6
steam.sh[765187]: Steam client's requirements are satisfied
[2024-04-30 12:01:12] Startup - updater built Mar  6 2024 20:27:25
[2024-04-30 12:01:12] Startup - Steam Client launched with: '/home/shenmo128/.deepinwine/Spark-Steamlinux/Steam/ubuntu12_32/steam'
Looks like steam didn't shutdown cleanly, scheduling immediate update check
[2024-04-30 12:01:13] Loading cached metrics from disk (/home/shenmo128/.deepinwine/Spark-Steamlinux/Steam/package/steam_client_metrics.bin)
[2024-04-30 12:01:13] Failed to load cached hosts file (File 'update_hosts_cached.vdf' not found), using defaults
[2024-04-30 12:01:13] Using the following download hosts for Public, Realm steamglobal
[2024-04-30 12:01:13] 1. https://cdn.steamstatic.com, /client/, Realm 'steamglobal', weight was 1, source = 'baked in'
[2024-04-30 12:01:13] Checking for update on startup
[2024-04-30 12:01:13] Checking for available updates...
[2024-04-30 12:01:13] Downloading manifest: https://cdn.steamstatic.com/client/steam_client_ubuntu12
[2024-04-30 12:01:13] Manifest download: send request
[2024-04-30 12:01:13] Manifest download: waiting for download to finish
[2024-04-30 12:01:15] Manifest download: finished
[2024-04-30 12:01:15] Download skipped: /client/steam_client_ubuntu12 version 1709846872, installed version 1709846872, existing pending version 0
[2024-04-30 12:01:15] Nothing to do
[2024-04-30 12:01:15] Verifying installation...
[2024-04-30 12:01:15] Performing checksum verification of executable files
[2024-04-30 12:01:23] Verification complete
UpdateUI: skip show logoError initializing native libappindicator.so.1 (last dlerror is libappindicator.so.1: wrong ELF class: ELFCLASS64)
Error initializing native libdbusmenu-gtk.so.4 (last dlerror is libdbusmenu-gtk.so.4: wrong ELF class: ELFCLASS64)
Error initializing native libdbusmenu-glib.so.4 (last dlerror is libdbusmenu-glib.so.4: wrong ELF class: ELFCLASS64)
Error initializing native libgtk-x11-2.0.so.0 (last dlerror is libgtk-x11-2.0.so.0: wrong ELF class: ELFCLASS64)
Error initializing native libgdk-x11-2.0.so.0 (last dlerror is libgdk-x11-2.0.so.0: wrong ELF class: ELFCLASS64)
Error: Symbol g_file_info_get_display_name not found, cannot apply R_386_JMP_SLOT 0x60eae0b4 (0x128a6) in /home/shenmo128/.deepinwine/Spark-Steamlinux/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0
Error: Symbol g_emblemed_icon_get_icon not found, cannot apply R_386_JMP_SLOT 0x60eae10c (0x12a06) in /home/shenmo128/.deepinwine/Spark-Steamlinux/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0
Error: Symbol g_list_insert_sorted not found, cannot apply R_386_JMP_SLOT 0x60eae548 (0x13af6) in /home/shenmo128/.deepinwine/Spark-Steamlinux/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0
Error: Symbol g_emblemed_icon_get_type not found, cannot apply R_386_JMP_SLOT 0x60eae594 (0x13c26) in /home/shenmo128/.deepinwine/Spark-Steamlinux/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0
Error: Symbol g_convert_error_quark not found, cannot apply R_386_JMP_SLOT 0x60eae608 (0x13df6) in /home/shenmo128/.deepinwine/Spark-Steamlinux/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0
Error: Symbol g_option_group_new not found, cannot apply R_386_JMP_SLOT 0x60eae754 (0x14326) in /home/shenmo128/.deepinwine/Spark-Steamlinux/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0
Error: Symbol g_object_set_qdata_full not found, cannot apply R_386_JMP_SLOT 0x60eae78c (0x14406) in /home/shenmo128/.deepinwine/Spark-Steamlinux/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0
Error: Symbol g_slist_free_full not found, cannot apply R_386_JMP_SLOT 0x60eae8e4 (0x14966) in /home/shenmo128/.deepinwine/Spark-Steamlinux/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0
Error: Symbol g_file_info_get_icon not found, cannot apply R_386_JMP_SLOT 0x60eae95c (0x14b46) in /home/shenmo128/.deepinwine/Spark-Steamlinux/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0
Error: Symbol g_icon_get_type not found, cannot apply R_386_JMP_SLOT 0x60eae968 (0x14b76) in /home/shenmo128/.deepinwine/Spark-Steamlinux/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0
Error: relocating Plt symbols in elf libgdk-x11-2.0.so.0
Error: Symbol g_variant_type_free not found, cannot apply R_386_JMP_SLOT 0x6061c08c (0x3b96) in /home/shenmo128/.deepinwine/Spark-Steamlinux/Steam/ubuntu12_32/steam-runtime/pinned_libs_32/libdbusmenu-glib.so.4
Error: Symbol g_queue_foreach not found, cannot apply R_386_JMP_SLOT 0x6061c17c (0x3f56) in /home/shenmo128/.deepinwine/Spark-Steamlinux/Steam/ubuntu12_32/steam-runtime/pinned_libs_32/libdbusmenu-glib.so.4
Error: Symbol g_variant_type_equal not found, cannot apply R_386_JMP_SLOT 0x6061c190 (0x3fa6) in /home/shenmo128/.deepinwine/Spark-Steamlinux/Steam/ubuntu12_32/steam-runtime/pinned_libs_32/libdbusmenu-glib.so.4
Error: Symbol g_variant_type_copy not found, cannot apply R_386_JMP_SLOT 0x6061c1a0 (0x3fe6) in /home/shenmo128/.deepinwine/Spark-Steamlinux/Steam/ubuntu12_32/steam-runtime/pinned_libs_32/libdbusmenu-glib.so.4
Error: Symbol g_variant_type_peek_string not found, cannot apply R_386_JMP_SLOT 0x6061c204 (0x4176) in /home/shenmo128/.deepinwine/Spark-Steamlinux/Steam/ubuntu12_32/steam-runtime/pinned_libs_32/libdbusmenu-glib.so.4
Error: Symbol g_variant_type_new not found, cannot apply R_386_JMP_SLOT 0x6061c31c (0x45d6) in /home/shenmo128/.deepinwine/Spark-Steamlinux/Steam/ubuntu12_32/steam-runtime/pinned_libs_32/libdbusmenu-glib.so.4
Error: relocating Plt symbols in elf libdbusmenu-glib.so.4
Error: Global Symbol g_cclosure_new not found, cannot apply R_386_GLOB_DAT @0x60c63e8c ((nil)) in /home/shenmo128/.deepinwine/Spark-Steamlinux/Steam/ubuntu12_32/steam-runtime/pinned_libs_32/libgtk-x11-2.0.so.0
Error: Global Symbol g_cclosure_new_swap not found, cannot apply R_386_GLOB_DAT @0x60c63f74 ((nil)) in /home/shenmo128/.deepinwine/Spark-Steamlinux/Steam/ubuntu12_32/steam-runtime/pinned_libs_32/libgtk-x11-2.0.so.0
Error: Global Symbol g_param_spec_types not found, cannot apply R_386_GLOB_DAT @0x60c63fac ((nil)) in /home/shenmo128/.deepinwine/Spark-Steamlinux/Steam/ubuntu12_32/steam-runtime/pinned_libs_32/libgtk-x11-2.0.so.0
Error: relocating symbols in elf libgtk-x11-2.0.so.0
Error initializing native libgtk-x11-2.0.so.0 (last dlerror is libgtk-x11-2.0.so.0: wrong ELF class: ELFCLASS64)

I'm using this armhf libs package

https://cdn.d.store.deepinos.org.cn/aarch64-store/depends/deepin-wine6-stable/com.deepin-wine-runtime.deepin_1.1deepin3_arm64.deb.metalink

ptitSeb commented 6 months ago

I don't know what this package contains. It doesn't look like an official box86 version.

Either open a ticket on deepin os github, or use official box86, with the included install_steam.sh script.

shenmo7192 commented 6 months ago

I don't know what this package contains. It doesn't look like an official box86 version.

Either open a ticket on deepin os github, or use official box86, with the included install_steam.sh script.

This IS an official box86. I just cloned from repo and compiled it.

While it was repacked to avoid conflict with deepin-box86

shenmo7192 commented 6 months ago

with the included install_steam.sh script

with the included install_steam.sh script

I got the pack from https://github.com/ryanfortner/box86-debs/ and it does not contain any shell..... Okay maybe i should find another binary upstream to follow

shenmo7192 commented 6 months ago

armhf packages is managed externally on UOS and deepin on arm64, since they does not have an armhf repository, so they make a package to uncompress those needed libs.

OK maybe i should try debian 12 instead

ptitSeb commented 6 months ago

the install_steam.sh can be found on box86 repo directly. It will create a steam shell script launcher (important as there are some env. var. needed to have it run correctly), and will try to install needed dependancies on Debian/Ubuntu system. You'll probably have to install the dependancies by hand on deepinos.

Also, your box86 installation seems to missing the /etc/box86.box86rc I think. It the default parameter file for box86, I don't think it got installed with you package.

shenmo7192 commented 6 months ago

the install_steam.sh can be found on box86 repo directly. It will create a steam shell script launcher (important as there are some env. var. needed to have it run correctly), and will try to install needed dependancies on Debian/Ubuntu system. You'll probably have to install the dependancies by hand on deepinos.

Also, your box86 installation seems to missing the /etc/box86.box86rc I think. It the default parameter file for box86, I don't think it got installed with you package.

Oh sorry I thought box86 support BOX86_RCFILE as env var to pass the rc file path. I changed it to /etc/spark-box86.box86rc to avoid conflict with official release.

I refered to box64 code and made an pr to let box86 support it

https://github.com/ptitSeb/box86/pull/960

Here

ptitSeb commented 6 months ago

I'm still unsure what is the official box86 and what is not in your configuration.

shenmo7192 commented 6 months ago

I recompiled it and it seems the correct .rcfile is does not make symbol error now. It complain a dbus error

dbus[1532300]: arguments to dbus_message_new_method_call() were incorrect, assertion "path != NULL" failed in file ../../../dbus/dbus-message.c line 1362. This is normally a bug in some application using the D-Bus library.


This is my repacked version of box86. Build on Debian 10 container

The repacked version modify these things

  1. Move the binary and libs of box86 to /opt/spark-box86
  2. Rename the binfmt file and box86rc file
  3. Move /usr/local/bin/box86 to /usr/bin/box86

else is the same

spark-box86_0.3.5-20240430_arm64.zip

shenmo7192 commented 6 months ago

To avoid later misunderstanding and packaging caused error, i will use https://github.com/ryanfortner/box86-debs/ deb to test then.

shenmo7192 commented 6 months ago

Update: Restarting Steam make it successful to load without dbus problem. But steamwebhelper crashed

Trying to fix

shenmo7192 commented 6 months ago

Failed to run on debian 12 container with

图片

shenmo7192 commented 6 months ago
shenmo128@Amber-CE-Bookworm:~/Desktop/box86/bui$ LANGUAGE=en_US LANG=en_US apt policy libgcc-s1:armhf
libgcc-s1:armhf:
  Installed: 12.2.0-14
  Candidate: 12.2.0-14
  Version table:
 *** 12.2.0-14 500
        500 https://mirrors.ustc.edu.cn/debian bookworm/main armhf Packages
        100 /var/lib/dpkg/status

shenmo128@Amber-CE-Bookworm:~/Desktop/box86/bui$ LANGUAGE=en_US LANG=en_US apt policy libgcc-s1:arm64
libgcc-s1:
  Installed: 12.2.0-14
  Candidate: 12.2.0-14
  Version table:
 *** 12.2.0-14 500
        500 https://mirrors.ustc.edu.cn/debian bookworm/main arm64 Packages
        100 /var/lib/dpkg/status
ptitSeb commented 6 months ago

steamwebhelper is a 64bits process. It use box64 to run, and you need a recent build of box64 (with it's rcfile) to run it

shenmo7192 commented 6 months ago

steamwebhelper is a 64bits process. It use box64 to run, and you need a recent build of box64 (with it's rcfile) to run it

box64 is installed with rc file

This error seems random on my device.

I will find another person to test on his machine to test

ptitSeb commented 3 months ago

Can this ticket be closed now?

shenmo7192 commented 3 months ago

Think so

I don't have a armhf device now....

Thank you for your patience! You are so nice.