Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linux AppImage fails to launch unless libatomic is installed #798

Closed
2 tasks done
jorgeluiscarrillo opened this issue May 2, 2021 · 1 comment
Closed
2 tasks done

Comments

@jorgeluiscarrillo
Copy link

Bug report

  • I understand the difference between Streamlink and Streamlink Twitch GUI.
  • This is a bug report and I have read the contribution guidelines.

Environment details

Operating system and version:
Fedora 34

Streamlink Twitch GUI version:
v1.11.0 AppImage

Streamlink version:
2.1.1

Configuration details:

Description

Streamlink Twitch GUI won't launch and hangs at startup unless libatomic is installed on the system. Once libatomic is installed, the app runs as expected.

Expected / Actual behavior

Because this is an AppImage, I expect to be able to run the app without needing to install any additional dependencies and on any Linux distribution.

Reproduction steps

Launch Streamlink Twitch GUI AppImage on a Linux system without libatomic installed

Log output

[70412:70412:0502/011955.330057:ERROR:component_loader.cc(169)] Failed to parse extension manifest.
[70412:70439:0502/011955.369583:ERROR:object_proxy.cc(632)] Failed to call method: org.freedesktop.DBus.Properties.Get: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name is not activatable
[70412:70439:0502/011955.370373:ERROR:object_proxy.cc(632)] Failed to call method: org.freedesktop.UPower.GetDisplayDevice: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name is not activatable
[70412:70439:0502/011955.370487:ERROR:object_proxy.cc(632)] Failed to call method: org.freedesktop.UPower.EnumerateDevices: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name is not activatable
[70441:70441:0502/011955.558064:FATAL:nw_content_renderer_hooks.cc(53)] Failed to load node library (error: libatomic.so.1: cannot open shared object file: No such file or directory)
#0 0x7f9f87a92219 (/tmp/.mount_Streammvo5MT/opt/streamlink-twitch-gui/lib/libnw.so+0x461b218)

[70429:70429:0502/011955.569998:ERROR:sandbox_linux.cc(376)] InitializeSandbox() called with multiple threads in process gpu-process.

Additional comments, screenshots, etc.

Same issue as #698, however this is with the AppImage, which I thought would fix these types of problems.

@bastimeyer
Copy link
Member

libatomic.so.1 is required by the Node.js part of NW.js, see nwjs/nw.js#7147 and nwjs/nw.js#7213. Just like every other dependency, they keep it dynamically linked.

$ ldd build/cache/0.52.2-normal/linux64/lib/libnode.so 
        linux-vdso.so.1 (0x00007ffff8725000)
        libnw.so => not found
        libatomic.so.1 => /usr/lib/libatomic.so.1 (0x00007fdff403f000)
        libm.so.6 => /usr/lib/libm.so.6 (0x00007fdff3efa000)
        libdl.so.2 => /usr/lib/libdl.so.2 (0x00007fdff3ef3000)
        libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007fdff3ed9000)
        libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007fdff3eb8000)
        libc.so.6 => /usr/lib/libc.so.6 (0x00007fdff3ce9000)
        /usr/lib64/ld-linux-x86-64.so.2 (0x00007fdff5d4f000)

This can be fixed downstream here in the Appimage, but the binaries outside of the Appimages won't be touched, as they are used as binary sources for certain distro packages, and those packages can/should define their package dependencies instead.

bastimeyer added a commit that referenced this issue May 12, 2021
See e90f843, #798

- deterministically install missing dependencies
- find missing dependencies via shell:appimage_dependencies_linux{32,64}
  grunt tasks
- move missing dependency resolver script from build-docker.sh to
  get-dependencies.sh
- remove unnecessary ARCH parameter
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants