View previous topic :: View next topic |
Author |
Message |
mrfabiolo Tux's lil' helper
Joined: 02 Jan 2011 Posts: 98
|
Posted: Sat Jul 06, 2024 6:44 am Post subject: AppImage: fuse: failed to exec fusermount: Permission denied |
|
|
I'm trying to run the SimpleX app:
https://simplex.chat/downloads/#desktop-app
This is the AppImage:
https://github.com/simplex-chat/simplex-chat/releases/latest/download/simplex-desktop-x86_64.AppImage
Code: | $ chmod +x simplex-desktop-x86_64.AppImage
$ ./simplex-desktop-x86_64.AppImage
fuse: failed to exec fusermount: Permission denied
Cannot mount AppImage, please check your FUSE setup.
You might still be able to extract the contents of this AppImage
if you run it with the --appimage-extract option.
See https://github.com/AppImage/AppImageKit/wiki/FUSE
for more information
open dir error: No such file or directory |
Code: | $ ls -l /usr/bin/fuse*
-rwxr-xr-x 1 root root 43632 Apr 29 22:22 /usr/bin/fuser*
-rws--x--x 1 root root 39008 May 4 10:49 /usr/bin/fusermount*
-rws--x--x 1 root root 39008 Mar 19 02:24 /usr/bin/fusermount3* |
Maybe it's not Gentoo related; thanks anyway. |
|
Back to top |
|
|
rab0171610 Guru
Joined: 24 Dec 2022 Posts: 443
|
Posted: Sat Jul 06, 2024 8:33 am Post subject: |
|
|
I got the same error as you.
Per this:
https://github.com/AppImage/type2-runtime/issues/15#issuecomment-1762097639
and this:
https://github.com/simplex-chat/simplex-chat/issues/4402#issuecomment-2210771416
I tried:
Code: | FUSERMOUNT_PROG=/bin/fusermount ./simplex-desktop-x86_64.AppImage |
But I got the following errors:
Code: | Exception in thread "main" java.lang.UnsatisfiedLinkError: /tmp/.mount_simplenkiOlK/usr/lib/app/resources/libapp-lib.so: libffi.so.7: cannot open shared object file: No such file or directory
at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(Unknown Source)
at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(Unknown Source)
at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(Unknown Source)
at java.base/java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.base/java.lang.Runtime.load0(Unknown Source)
at java.base/java.lang.System.load(Unknown Source)
at chat.simplex.desktop.MainKt.initHaskell(Main.kt:37)
at chat.simplex.desktop.MainKt.main(Main.kt:21)
at chat.simplex.desktop.MainKt.main(Main.kt)
|
Per the last link, I emerged libffi-compat.
I tried again:
Code: | FUSERMOUNT_PROG=/bin/fusermount ./simplex-desktop-x86_64.AppImage
D: useDatabaseKey true
D: sendCmd: apiSetAppFilePaths
D: sendCmd response type cmdOk
D: sendCmd: apiSetEncryptLocalFiles
D: sendCmd response type cmdOk
D: sendCmd: showActiveUser
D: sendCmd response type chatCmdError
D: apiGetActiveUser: chatCmdError chat noActiveUser
D: sendCmd: listRemoteHosts
D: sendCmd response type remoteHostList
D: user: null
D: ChatController startReceiver
D: sendCmd: setLocalDeviceName
D: sendCmd response type cmdOk
D: startChat: started without user
|
It opened, but the SimpleX display window was garbled and not usable.
Good Luck.
Edit: It hit me when I tried it I was logged into a Wayland session. It opened and rendered fine in X .
In Wayland:
Code: | FUSERMOUNT_PROG=/bin/fusermount GDK_BACKEND=x11 ./simplex-desktop-x86_64.AppImage |
|
|
Back to top |
|
|
Hu Administrator
Joined: 06 Mar 2007 Posts: 22857
|
Posted: Sat Jul 06, 2024 12:00 pm Post subject: |
|
|
When FUSERMOUNT_PROG is not set, what path(s) does the application try to use to find fusermount? |
|
Back to top |
|
|
rab0171610 Guru
Joined: 24 Dec 2022 Posts: 443
|
Posted: Sat Jul 06, 2024 5:08 pm Post subject: |
|
|
@Hu,
That I don't know. You would understand it better than I can by reading the posts in those two github issues links I posted -- there are some references to Gentoo as well as other distros. The version of the appimage the OP provided a link for is the one I tested and got at least to open. This issue may have been fixed in the newer versions on Github. Apparently it works fine on some distros and not others with regard to the fuser issue. |
|
Back to top |
|
|
RIA77 Guru
Joined: 24 Feb 2016 Posts: 396
|
Posted: Thu Jul 11, 2024 9:52 am Post subject: |
|
|
Enable fuse in kernel.
emerge --ask sys-fs/fuse:0
emerge -a net-print/cups |
|
Back to top |
|
|
Hu Administrator
Joined: 06 Mar 2007 Posts: 22857
|
Posted: Thu Jul 11, 2024 1:56 pm Post subject: |
|
|
I skimmed the issues and did not see an answer. Someone who can try to run this could find the answer via strace.
RIA77: why cups? |
|
Back to top |
|
|
RIA77 Guru
Joined: 24 Feb 2016 Posts: 396
|
Posted: Thu Jul 11, 2024 5:51 pm Post subject: |
|
|
I run appimages on a daily basis.
It just won't work without cups. |
|
Back to top |
|
|
TheRealOne78 n00b
Joined: 19 Sep 2021 Posts: 9
|
Posted: Sun Nov 10, 2024 1:33 pm Post subject: |
|
|
RIA77 wrote: | It just won't work without cups. |
I'm having the same issue, but on FreeCAD, and I already installed both fuse v2 and v3, and cups. FUSE is also enabled in the kernel.
Code: | ❯ ./FreeCAD_weekly-builds-39153-conda-Linux-x86_64-py311.AppImage
fuse: failed to exec fusermount: Permission denied
Cannot mount AppImage, please check your FUSE setup.
You might still be able to extract the contents of this AppImage
if you run it with the --appimage-extract option.
See https://github.com/AppImage/AppImageKit/wiki/FUSE
for more information
open dir error: No such file or directory
|
I tried to circumvent this issue by updating my system, chmod-ed /usr/bin/fusermount as u+s, and more.
The only thing that worked for me was to execute FreeCAD like this:
Code: | FUSERMOUNT_PROG=/usr/bin/fusermount ./FreeCAD_weekly-builds-39153-conda-Linux-x86_64-py311.AppImage |
Also, extracting the appimage and then running AppRun also won't work:
Code: | ❯ ./FreeCAD_weekly-builds-39153-conda-Linux-x86_64-py311.AppImage --appimage-extract
❯ ./squashfs-root/AppRun
FreeCAD 1.1.0, Libs: 1.1.0devR39153 (Git)
(C) 2001-2024 FreeCAD contributors
FreeCAD is free and open-source software licensed under the terms of LGPL2+ license.
(qt.glx) qglx_findConfig: Failed to finding matching FBConfig for QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize -1, redBufferSize 1, greenBufferSize 1, blueBufferSize 1, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::SingleBuffer, swapInterval 1, colorSpace QSurfaceFormat::DefaultColorSpace, profile QSurfaceFormat::NoProfile)
(qt.glx) qglx_findConfig: Failed to finding matching FBConfig for QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize -1, redBufferSize 1, greenBufferSize 1, blueBufferSize 1, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::SingleBuffer, swapInterval 1, colorSpace QSurfaceFormat::DefaultColorSpace, profile QSurfaceFormat::NoProfile)
Could not initialize GLX
./squashfs-root/AppRun: line 31: 3125 Aborted "${MAIN}" "$@" |
|
|
Back to top |
|
|
Hu Administrator
Joined: 06 Mar 2007 Posts: 22857
|
Posted: Sun Nov 10, 2024 3:06 pm Post subject: |
|
|
TheRealOne78 wrote: | I'm having the same issue, but on FreeCAD, and I already installed both fuse v2 and v3, and cups. FUSE is also enabled in the kernel.
Code: | ❯ ./FreeCAD_weekly-builds-39153-conda-Linux-x86_64-py311.AppImage
fuse: failed to exec fusermount: Permission denied |
| At the point where this failed, what is the output of namei -l /usr/bin/fusermount? Did you confirm that it is trying to exec /usr/bin/fusermount, rather than a program at some other path? TheRealOne78 wrote: | I tried to circumvent this issue by updating my system, chmod-ed /usr/bin/fusermount as u+s, and more. | Adding setuid to a system program is almost certainly the wrong solution. You should undo that. |
|
Back to top |
|
|
Goverp Advocate
Joined: 07 Mar 2007 Posts: 2185
|
Posted: Sun Nov 10, 2024 4:12 pm Post subject: |
|
|
Hu wrote: | ...Adding setuid to a system program is almost certainly the wrong solution. You should undo that. |
On my unmodified system:
Code: | paul@ryzen ~ $ ls -l /usr/bin/fusermount
-rws--x--x 1 root root 29888 Apr 27 2024 /usr/bin/fusermount |
so it appears fusermount should be setguid root. _________________ Greybeard |
|
Back to top |
|
|
Hu Administrator
Joined: 06 Mar 2007 Posts: 22857
|
Posted: Sun Nov 10, 2024 4:25 pm Post subject: |
|
|
That is fair, but if it was suid root already, why did TheRealOne78 report changing it to u+s? Per your output, it already is u+s, so there would not have been a change. I see your point that it ought to be installed as suid root by the package manager, and if it was, it ought to be left that way. However, if for some reason it is not suid root (and fuse:3 may not be, though that would be /usr/bin/fusermount3, so I think we are discussing fuse:2 here), then the user should not add it, and should undo any local permission changes. |
|
Back to top |
|
|
sam_ Developer
Joined: 14 Aug 2020 Posts: 2033
|
Posted: Sun Nov 10, 2024 5:10 pm Post subject: |
|
|
I suspect this may be bug 938164. |
|
Back to top |
|
|
|