From 0e21ca3c04c25090ed87f076126829bf9ef4d5b7 Mon Sep 17 00:00:00 2001 From: SulfurNitride Date: Sat, 14 Mar 2026 07:47:07 -0500 Subject: Fix false 'libfuse3 not found' warning on Debian/Ubuntu MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On Debian/Ubuntu, libfuse3-3 (runtime) installs libfuse3.so.3 but not the unversioned libfuse3.so symlink — that requires libfuse3-dev. Add .so.3 variants to the FUSE detection check so users with only the runtime package don't get a spurious warning. Co-Authored-By: Claude Sonnet 4.6 --- src/src/sanitychecks.cpp | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/src/sanitychecks.cpp b/src/src/sanitychecks.cpp index 6983739..77ab759 100644 --- a/src/src/sanitychecks.cpp +++ b/src/src/sanitychecks.cpp @@ -389,12 +389,29 @@ int checkMissingFiles() log::debug(" . checking Linux dependencies"); int n = 0; - // Check for FUSE - if (!QFileInfo::exists("/usr/lib/libfuse3.so") && - !QFileInfo::exists("/usr/lib64/libfuse3.so") && - !QFileInfo::exists("/usr/lib/x86_64-linux-gnu/libfuse3.so")) { - log::warn("libfuse3 not found - FUSE VFS will not work"); - ++n; + // Check for FUSE (check both unversioned .so and versioned .so.3, since + // on Debian/Ubuntu the unversioned symlink is only in libfuse3-dev) + { + static const char* fusePaths[] = { + "/usr/lib/libfuse3.so", + "/usr/lib/libfuse3.so.3", + "/usr/lib64/libfuse3.so", + "/usr/lib64/libfuse3.so.3", + "/usr/lib/x86_64-linux-gnu/libfuse3.so", + "/usr/lib/x86_64-linux-gnu/libfuse3.so.3", + nullptr + }; + bool fuseFound = false; + for (int i = 0; fusePaths[i]; ++i) { + if (QFileInfo::exists(fusePaths[i])) { + fuseFound = true; + break; + } + } + if (!fuseFound) { + log::warn("libfuse3 not found - FUSE VFS will not work"); + ++n; + } } return n; -- cgit v1.3.1