Skip to content
New issue

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

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

Already on GitHub? # to your account

Can't start .AppImage on Fedora 29 #11

Closed
ShadowMitia opened this issue Oct 30, 2018 · 9 comments
Closed

Can't start .AppImage on Fedora 29 #11

ShadowMitia opened this issue Oct 30, 2018 · 9 comments
Labels

Comments

@ShadowMitia
Copy link
Contributor

I tried launching the .AppImage after downloading and doing chmod +x godot-linux-nightly-x86_64.AppImage, but all I get is:
./godot-linux-nightly-x86_64.AppImage: error while loading shared libraries: libnsl.so.1: cannot open shared object file: No such file or directory

I've made the Tiled .AppImage work from here: https://github.com/bjorn/tiled/releases so there's possibly a missing dependency? Or maybe something changed in Fedora 29 and broke something?

Thanks

@ShadowMitia
Copy link
Contributor Author

A simple workaround is to install libsnl like so sudo dnf install libnsl

@Calinou Calinou added the bug label Oct 30, 2018
@Calinou
Copy link
Owner

Calinou commented Nov 16, 2018

This should be now fixed thanks to AppImage/AppImageKit#863; please comment if you can still reproduce this issue.

@Calinou Calinou closed this as completed Nov 16, 2018
@ShadowMitia
Copy link
Contributor Author

ShadowMitia commented Nov 16, 2018

Sorry, I can still reproduce this issue^^

I don't see why AppImage/AppImageKit#863 would fix this, isn't it about another library?

@Calinou
Copy link
Owner

Calinou commented Nov 16, 2018

I remember discussing the libnsl issue with AppImage developers on IRC, but I don't remember if it was actually fixed, sorry.

@Calinou Calinou reopened this Nov 16, 2018
@ShadowMitia
Copy link
Contributor Author

No worries!

@ShadowMitia
Copy link
Contributor Author

Hi,
I saw your comment on the pull request.
Does this mean that in more recent versions of Ubuntu libnsl is also in by default?
Can libnsl get packaged inside the AppImage though libc6? Or is it an integral part of that package and would then only work on ubuntu?

@Calinou
Copy link
Owner

Calinou commented Nov 19, 2018

Does this mean that in more recent versions of Ubuntu libnsl is also in by default?

Yes, I don't think Canonical has changed that after 14.04.

Can libnsl get packaged inside the AppImage though libc6? Or is it an integral part of that package and would then only work on ubuntu?

It's a standalone .so file even if it comes from libc6, but I don't know why linuxdeployqt doesn't pick up the library for packaging since it's no longer blacklisted.

@ShadowMitia
Copy link
Contributor Author

So I've tried a quick look at linuxdeployqt to understand how it works and see if I could thing something to help.

So far not really, I saw that there is this option -bundle-non-qt-libs but I'm guessing you already say that. (And I'm not completely sure what it does yet anyway).

I came across this issue: probonopd/linuxdeployqt#241 where they've asked to run D_DEBUG=libs your.AppImage to see how libraries are loaded.

I'm posting my result underneath, maybe it'll help. First the part that fails for libsnl only and then the whole output (for clarity). The command I ran is LD_DEBUG=libs ./godot-linux-nightly-x86_64.AppImage.

  6720:	find library=libnsl.so.1 [0]; searching
  6720:	 search path=/tmp/.mount_godot-HD6R7m/usr/bin/../lib		(RUNPATH from file ./godot-linux-nightly-x86_64.AppImage)
  6720:	  trying file=/tmp/.mount_godot-HD6R7m/usr/bin/../lib/libnsl.so.1
  6720:	 search cache=/etc/ld.so.cache
  6720:	 search path=/lib64/tls/haswell/x86_64:/lib64/tls/haswell:/lib64/tls/x86_64:/lib64/tls:/lib64/haswell/x86_64:/lib64/haswell:/lib64/x86_64:/lib64:/usr/lib64/tls/haswell/x86_64:/usr/lib64/tls/haswell:/usr/lib64/tls/x86_64:/usr/lib64/tls:/usr/lib64/haswell/x86_64:/usr/lib64/haswell:/usr/lib64/x86_64:/usr/lib64		(system search path)
  6720:	  trying file=/lib64/tls/haswell/x86_64/libnsl.so.1
  6720:	  trying file=/lib64/tls/haswell/libnsl.so.1
  6720:	  trying file=/lib64/tls/x86_64/libnsl.so.1
  6720:	  trying file=/lib64/tls/libnsl.so.1
  6720:	  trying file=/lib64/haswell/x86_64/libnsl.so.1
  6720:	  trying file=/lib64/haswell/libnsl.so.1
  6720:	  trying file=/lib64/x86_64/libnsl.so.1
  6720:	  trying file=/lib64/libnsl.so.1
  6720:	  trying file=/usr/lib64/tls/haswell/x86_64/libnsl.so.1
  6720:	  trying file=/usr/lib64/tls/haswell/libnsl.so.1
  6720:	  trying file=/usr/lib64/tls/x86_64/libnsl.so.1
  6720:	  trying file=/usr/lib64/tls/libnsl.so.1
  6720:	  trying file=/usr/lib64/haswell/x86_64/libnsl.so.1
  6720:	  trying file=/usr/lib64/haswell/libnsl.so.1
  6720:	  trying file=/usr/lib64/x86_64/libnsl.so.1
  6720:	  trying file=/usr/lib64/libnsl.so.1
  6720:	

./godot-linux-nightly-x86_64.AppImage: error while loading shared libraries: libnsl.so.1: cannot open shared object file: No such file or directory

The whole output:

  6720:	find library=libdl.so.2 [0]; searching
  6720:	 search cache=/etc/ld.so.cache
  6720:	  trying file=/lib64/libdl.so.2
  6720:	
  6720:	find library=libpthread.so.0 [0]; searching
  6720:	 search cache=/etc/ld.so.cache
  6720:	  trying file=/lib64/libpthread.so.0
  6720:	
  6720:	find library=libz.so.1 [0]; searching
  6720:	 search cache=/etc/ld.so.cache
  6720:	  trying file=/lib64/libz.so.1
  6720:	
  6720:	find library=libc.so.6 [0]; searching
  6720:	 search cache=/etc/ld.so.cache
  6720:	  trying file=/lib64/libc.so.6
  6720:	
  6720:	
  6720:	calling init: /lib64/libpthread.so.0
  6720:	
  6720:	
  6720:	calling init: /lib64/libc.so.6
  6720:	
  6720:	
  6720:	calling init: /lib64/libz.so.1
  6720:	
  6720:	
  6720:	calling init: /lib64/libdl.so.2
  6720:	
  6720:	
  6720:	initialize program: ./godot-linux-nightly-x86_64.AppImage
  6720:	
  6720:	
  6720:	transferring control: ./godot-linux-nightly-x86_64.AppImage
  6720:	
  6720:	find library=libfuse.so.2 [0]; searching
  6720:	 search cache=/etc/ld.so.cache
  6720:	  trying file=/lib64/libfuse.so.2
  6720:	
  6720:	
  6720:	calling init: /lib64/libfuse.so.2
  6720:	
  6720:	find library=libXcursor.so.1 [0]; searching
  6720:	 search path=/tmp/.mount_godot-HD6R7m/usr/bin/../lib/tls/haswell/x86_64:/tmp/.mount_godot-HD6R7m/usr/bin/../lib/tls/haswell:/tmp/.mount_godot-HD6R7m/usr/bin/../lib/tls/x86_64:/tmp/.mount_godot-HD6R7m/usr/bin/../lib/tls:/tmp/.mount_godot-HD6R7m/usr/bin/../lib/haswell/x86_64:/tmp/.mount_godot-HD6R7m/usr/bin/../lib/haswell:/tmp/.mount_godot-HD6R7m/usr/bin/../lib/x86_64:/tmp/.mount_godot-HD6R7m/usr/bin/../lib(RUNPATH from file ./godot-linux-nightly-x86_64.AppImage)
  6720:	  trying file=/tmp/.mount_godot-HD6R7m/usr/bin/../lib/tls/haswell/x86_64/libXcursor.so.1
  6720:	  trying file=/tmp/.mount_godot-HD6R7m/usr/bin/../lib/tls/haswell/libXcursor.so.1
  6720:	  trying file=/tmp/.mount_godot-HD6R7m/usr/bin/../lib/tls/x86_64/libXcursor.so.1
  6720:	  trying file=/tmp/.mount_godot-HD6R7m/usr/bin/../lib/tls/libXcursor.so.1
  6720:	  trying file=/tmp/.mount_godot-HD6R7m/usr/bin/../lib/haswell/x86_64/libXcursor.so.1
  6720:	  trying file=/tmp/.mount_godot-HD6R7m/usr/bin/../lib/haswell/libXcursor.so.1
  6720:	  trying file=/tmp/.mount_godot-HD6R7m/usr/bin/../lib/x86_64/libXcursor.so.1
  6720:	  trying file=/tmp/.mount_godot-HD6R7m/usr/bin/../lib/libXcursor.so.1
  6720:	
  6720:	find library=libXinerama.so.1 [0]; searching
  6720:	 search path=/tmp/.mount_godot-HD6R7m/usr/bin/../lib		(RUNPATH from file ./godot-linux-nightly-x86_64.AppImage)
  6720:	  trying file=/tmp/.mount_godot-HD6R7m/usr/bin/../lib/libXinerama.so.1
  6720:	
  6720:	find library=libXrandr.so.2 [0]; searching
  6720:	 search path=/tmp/.mount_godot-HD6R7m/usr/bin/../lib		(RUNPATH from file ./godot-linux-nightly-x86_64.AppImage)
  6720:	  trying file=/tmp/.mount_godot-HD6R7m/usr/bin/../lib/libXrandr.so.2
  6720:	
  6720:	find library=libXrender.so.1 [0]; searching
  6720:	 search path=/tmp/.mount_godot-HD6R7m/usr/bin/../lib		(RUNPATH from file ./godot-linux-nightly-x86_64.AppImage)
  6720:	  trying file=/tmp/.mount_godot-HD6R7m/usr/bin/../lib/libXrender.so.1
  6720:	
  6720:	find library=libX11.so.6 [0]; searching
  6720:	 search path=/tmp/.mount_godot-HD6R7m/usr/bin/../lib		(RUNPATH from file ./godot-linux-nightly-x86_64.AppImage)
  6720:	  trying file=/tmp/.mount_godot-HD6R7m/usr/bin/../lib/libX11.so.6
  6720:	 search cache=/etc/ld.so.cache
  6720:	  trying file=/lib64/libX11.so.6
  6720:	
  6720:	find library=libXi.so.6 [0]; searching
  6720:	 search path=/tmp/.mount_godot-HD6R7m/usr/bin/../lib		(RUNPATH from file ./godot-linux-nightly-x86_64.AppImage)
  6720:	  trying file=/tmp/.mount_godot-HD6R7m/usr/bin/../lib/libXi.so.6
  6720:	
  6720:	find library=libfreetype.so.6 [0]; searching
  6720:	 search path=/tmp/.mount_godot-HD6R7m/usr/bin/../lib		(RUNPATH from file ./godot-linux-nightly-x86_64.AppImage)
  6720:	  trying file=/tmp/.mount_godot-HD6R7m/usr/bin/../lib/libfreetype.so.6
  6720:	 search cache=/etc/ld.so.cache
  6720:	  trying file=/lib64/libfreetype.so.6
  6720:	
  6720:	find library=libpng12.so.0 [0]; searching
  6720:	 search path=/tmp/.mount_godot-HD6R7m/usr/bin/../lib		(RUNPATH from file ./godot-linux-nightly-x86_64.AppImage)
  6720:	  trying file=/tmp/.mount_godot-HD6R7m/usr/bin/../lib/libpng12.so.0
  6720:	
  6720:	find library=libasound.so.2 [0]; searching
  6720:	 search path=/tmp/.mount_godot-HD6R7m/usr/bin/../lib		(RUNPATH from file ./godot-linux-nightly-x86_64.AppImage)
  6720:	  trying file=/tmp/.mount_godot-HD6R7m/usr/bin/../lib/libasound.so.2
  6720:	 search cache=/etc/ld.so.cache
  6720:	  trying file=/lib64/libasound.so.2
  6720:	
  6720:	find library=libpulse.so.0 [0]; searching
  6720:	 search path=/tmp/.mount_godot-HD6R7m/usr/bin/../lib		(RUNPATH from file ./godot-linux-nightly-x86_64.AppImage)
  6720:	  trying file=/tmp/.mount_godot-HD6R7m/usr/bin/../lib/libpulse.so.0
  6720:	
  6720:	find library=libz.so.1 [0]; searching
  6720:	 search path=/tmp/.mount_godot-HD6R7m/usr/bin/../lib		(RUNPATH from file ./godot-linux-nightly-x86_64.AppImage)
  6720:	  trying file=/tmp/.mount_godot-HD6R7m/usr/bin/../lib/libz.so.1
  6720:	 search cache=/etc/ld.so.cache
  6720:	  trying file=/lib64/libz.so.1
  6720:	
  6720:	find library=libGL.so.1 [0]; searching
  6720:	 search path=/tmp/.mount_godot-HD6R7m/usr/bin/../lib		(RUNPATH from file ./godot-linux-nightly-x86_64.AppImage)
  6720:	  trying file=/tmp/.mount_godot-HD6R7m/usr/bin/../lib/libGL.so.1
  6720:	 search cache=/etc/ld.so.cache
  6720:	  trying file=/lib64/libGL.so.1
  6720:	
  6720:	find library=libpthread.so.0 [0]; searching
  6720:	 search path=/tmp/.mount_godot-HD6R7m/usr/bin/../lib		(RUNPATH from file ./godot-linux-nightly-x86_64.AppImage)
  6720:	  trying file=/tmp/.mount_godot-HD6R7m/usr/bin/../lib/libpthread.so.0
  6720:	 search cache=/etc/ld.so.cache
  6720:	  trying file=/lib64/libpthread.so.0
  6720:	
  6720:	find library=libdl.so.2 [0]; searching
  6720:	 search path=/tmp/.mount_godot-HD6R7m/usr/bin/../lib		(RUNPATH from file ./godot-linux-nightly-x86_64.AppImage)
  6720:	  trying file=/tmp/.mount_godot-HD6R7m/usr/bin/../lib/libdl.so.2
  6720:	 search cache=/etc/ld.so.cache
  6720:	  trying file=/lib64/libdl.so.2
  6720:	
  6720:	find library=libm.so.6 [0]; searching
  6720:	 search path=/tmp/.mount_godot-HD6R7m/usr/bin/../lib		(RUNPATH from file ./godot-linux-nightly-x86_64.AppImage)
  6720:	  trying file=/tmp/.mount_godot-HD6R7m/usr/bin/../lib/libm.so.6
  6720:	 search cache=/etc/ld.so.cache
  6720:	  trying file=/lib64/libm.so.6
  6720:	
  6720:	find library=libc.so.6 [0]; searching
  6720:	 search path=/tmp/.mount_godot-HD6R7m/usr/bin/../lib		(RUNPATH from file ./godot-linux-nightly-x86_64.AppImage)
  6720:	  trying file=/tmp/.mount_godot-HD6R7m/usr/bin/../lib/libc.so.6
  6720:	 search cache=/etc/ld.so.cache
  6720:	  trying file=/lib64/libc.so.6
  6720:	
  6720:	find library=libXfixes.so.3 [0]; searching
  6720:	 search path=/tmp/.mount_godot-HD6R7m/usr/bin/../lib		(RUNPATH from file ./godot-linux-nightly-x86_64.AppImage)
  6720:	  trying file=/tmp/.mount_godot-HD6R7m/usr/bin/../lib/libXfixes.so.3
  6720:	
  6720:	find library=libXext.so.6 [0]; searching
  6720:	 search path=/tmp/.mount_godot-HD6R7m/usr/bin/../lib		(RUNPATH from file ./godot-linux-nightly-x86_64.AppImage)
  6720:	  trying file=/tmp/.mount_godot-HD6R7m/usr/bin/../lib/libXext.so.6
  6720:	
  6720:	find library=libxcb.so.1 [0]; searching
  6720:	 search cache=/etc/ld.so.cache
  6720:	  trying file=/lib64/libxcb.so.1
  6720:	
  6720:	find library=libbz2.so.1 [0]; searching
  6720:	 search cache=/etc/ld.so.cache
  6720:	  trying file=/lib64/libbz2.so.1
  6720:	
  6720:	find library=libpng16.so.16 [0]; searching
  6720:	 search cache=/etc/ld.so.cache
  6720:	  trying file=/lib64/libpng16.so.16
  6720:	
  6720:	find library=librt.so.1 [0]; searching
  6720:	 search cache=/etc/ld.so.cache
  6720:	  trying file=/lib64/librt.so.1
  6720:	
  6720:	find library=libjson-c.so.2 [0]; searching
  6720:	 search path=/tmp/.mount_godot-HD6R7m/usr/bin/../lib		(RUNPATH from file ./godot-linux-nightly-x86_64.AppImage)
  6720:	  trying file=/tmp/.mount_godot-HD6R7m/usr/bin/../lib/libjson-c.so.2
  6720:	
  6720:	find library=libpulsecommon-4.0.so [0]; searching
  6720:	 search path=/tmp/.mount_godot-HD6R7m/usr/bin/../lib		(RUNPATH from file ./godot-linux-nightly-x86_64.AppImage)
  6720:	  trying file=/tmp/.mount_godot-HD6R7m/usr/bin/../lib/libpulsecommon-4.0.so
  6720:	
  6720:	find library=libdbus-1.so.3 [0]; searching
  6720:	 search path=/tmp/.mount_godot-HD6R7m/usr/bin/../lib		(RUNPATH from file ./godot-linux-nightly-x86_64.AppImage)
  6720:	  trying file=/tmp/.mount_godot-HD6R7m/usr/bin/../lib/libdbus-1.so.3
  6720:	
  6720:	find library=libGLX.so.0 [0]; searching
  6720:	 search cache=/etc/ld.so.cache
  6720:	  trying file=/lib64/libGLX.so.0
  6720:	
  6720:	find library=libGLdispatch.so.0 [0]; searching
  6720:	 search cache=/etc/ld.so.cache
  6720:	  trying file=/lib64/libGLdispatch.so.0
  6720:	
  6720:	find library=libXau.so.6 [0]; searching
  6720:	 search cache=/etc/ld.so.cache
  6720:	  trying file=/lib64/libXau.so.6
  6720:	
  6720:	find library=libwrap.so.0 [0]; searching
  6720:	 search path=/tmp/.mount_godot-HD6R7m/usr/bin/../lib		(RUNPATH from file ./godot-linux-nightly-x86_64.AppImage)
  6720:	  trying file=/tmp/.mount_godot-HD6R7m/usr/bin/../lib/libwrap.so.0
  6720:	
  6720:	find library=libsndfile.so.1 [0]; searching
  6720:	 search path=/tmp/.mount_godot-HD6R7m/usr/bin/../lib		(RUNPATH from file ./godot-linux-nightly-x86_64.AppImage)
  6720:	  trying file=/tmp/.mount_godot-HD6R7m/usr/bin/../lib/libsndfile.so.1
  6720:	
  6720:	find library=libasyncns.so.0 [0]; searching
  6720:	 search path=/tmp/.mount_godot-HD6R7m/usr/bin/../lib		(RUNPATH from file ./godot-linux-nightly-x86_64.AppImage)
  6720:	  trying file=/tmp/.mount_godot-HD6R7m/usr/bin/../lib/libasyncns.so.0
  6720:	
  6720:	find library=libnsl.so.1 [0]; searching
  6720:	 search path=/tmp/.mount_godot-HD6R7m/usr/bin/../lib		(RUNPATH from file ./godot-linux-nightly-x86_64.AppImage)
  6720:	  trying file=/tmp/.mount_godot-HD6R7m/usr/bin/../lib/libnsl.so.1
  6720:	 search cache=/etc/ld.so.cache
  6720:	 search path=/lib64/tls/haswell/x86_64:/lib64/tls/haswell:/lib64/tls/x86_64:/lib64/tls:/lib64/haswell/x86_64:/lib64/haswell:/lib64/x86_64:/lib64:/usr/lib64/tls/haswell/x86_64:/usr/lib64/tls/haswell:/usr/lib64/tls/x86_64:/usr/lib64/tls:/usr/lib64/haswell/x86_64:/usr/lib64/haswell:/usr/lib64/x86_64:/usr/lib64		(system search path)
  6720:	  trying file=/lib64/tls/haswell/x86_64/libnsl.so.1
  6720:	  trying file=/lib64/tls/haswell/libnsl.so.1
  6720:	  trying file=/lib64/tls/x86_64/libnsl.so.1
  6720:	  trying file=/lib64/tls/libnsl.so.1
  6720:	  trying file=/lib64/haswell/x86_64/libnsl.so.1
  6720:	  trying file=/lib64/haswell/libnsl.so.1
  6720:	  trying file=/lib64/x86_64/libnsl.so.1
  6720:	  trying file=/lib64/libnsl.so.1
  6720:	  trying file=/usr/lib64/tls/haswell/x86_64/libnsl.so.1
  6720:	  trying file=/usr/lib64/tls/haswell/libnsl.so.1
  6720:	  trying file=/usr/lib64/tls/x86_64/libnsl.so.1
  6720:	  trying file=/usr/lib64/tls/libnsl.so.1
  6720:	  trying file=/usr/lib64/haswell/x86_64/libnsl.so.1
  6720:	  trying file=/usr/lib64/haswell/libnsl.so.1
  6720:	  trying file=/usr/lib64/x86_64/libnsl.so.1
  6720:	  trying file=/usr/lib64/libnsl.so.1
  6720:	

./godot-linux-nightly-x86_64.AppImage: error while loading shared libraries: libnsl.so.1: cannot open shared object file: No such file or directory

Hope this helps somewhow...

@ShadowMitia
Copy link
Contributor Author

Hi,

This issue looks fixed now when I just tried the beta 7 of 3.1.
No idea when this was fixed but doesn't really matter 😄

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants