spacedriveapp / spacedrive

Spacedrive is an open source cross-platform file explorer, powered by a virtual distributed filesystem written in Rust.
https://spacedrive.com
GNU Affero General Public License v3.0
30.36k stars 887 forks source link

[ENG-1286] Spacedrive fails to start after `.deb` install #1512

Closed gedeondoescode closed 9 months ago

gedeondoescode commented 10 months ago

Describe the bug

After installing the .deb package, the application fails to load. After running the application from the command line, it returns the following error:

spacedrive: error while loading shared libraries: libavutil.so.56: cannot open shared object file: No such file or directory

Reproduction

  1. Install Spacedrive via deb package
  2. Run for the first time
  3. See nothing

Expected behavior

See the window open on the onboading page.

Platform and versions

OS: Ubuntu Budgie 23.04

Stack trace

No response

Additional context

No response

julianbraha commented 10 months ago

I have the same issue on Pop OS 22.04.

When I tried running spacedrive from the command line, I get this error: spacedrive: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

Ubuntu 22.04 uses libssl3, and version 1.1 is deprecated. See: https://askubuntu.com/a/1412746

HeavenVolkoff commented 10 months ago

Thanks for reporting this issue. I'm centralizing all the problems related to the deb release here:

The linking issues likely stem from distributing a single deb package, built on Ubuntu 20.04, for all platforms. I will work on addressing this by either vendoring some of these dependencies and/or releasing multiple deb packages targeting more recent versions of Debian/Ubuntu.

loveyu commented 10 months ago

in debian 12 kde:

$ffmpeg -version

ffmpeg version 5.1.3-1 Copyright (c) 2000-2022 the FFmpeg developers
built with gcc 12 (Debian 12.2.0-14)
libavutil      57. 28.100 / 57. 28.100
libavcodec     59. 37.100 / 59. 37.100
libavformat    59. 27.100 / 59. 27.100
libavdevice    59.  7.100 / 59.  7.100
libavfilter     8. 44.100 /  8. 44.100
libswscale      6.  7.100 /  6.  7.100
libswresample   4.  7.100 /  4.  7.100
libpostproc    56.  6.100 / 56.  6.100
TheGB0077 commented 10 months ago

As I understand OpenSSL is a Tauri dependency because it computes SHA256 hashes with it, so I suppose that there is no replacement for it.

So, perhaps the most straightforward way to fix this, would be to provide two .deb packages. One built on an Ubuntu 20 machine, for backwards compatibility sake, and the other with Ubuntu 22.

Otherwise embedding the missing libs directly could be the preferred choice.

TheGB0077 commented 10 months ago

The .desktop file was copied without a read permission, thus the desktop entry cannot be accessed.

TheGB0077 commented 10 months ago

Here's some additional linting:

image

hobofan commented 10 months ago

@TheGB0077

As I understand OpenSSL is a Tauri dependency because it computes SHA256 hashes with it, so I suppose that there is no replacement for it.

There is a replacement for it. OpenSSL is a dependency of native-tls, which apart from tauri is also pulled in by spacedrive via the reqwest and tokio-tls crates. There is usually an option for most crates that use native-tls to instead use rustls which will by default be statically linked into the final binary. That usually makes distribution easier, but as switch of dependencies also comes with some trade-offs, which I'm not sure the Spacedrive team would like to make.

HeavenVolkoff commented 9 months ago

I have finished addressing the issues with the deb release. A test version with the latest changes is available here for anyone who wants to try it out and check if it installs and runs correctly.

gedeondoescode commented 9 months ago

I’ll set up a VM and see if it works later today

gedeondoescode commented 9 months ago

@HeavenVolkoff Install went perfectly with my Ubuntu 23.10 VM. However, the window failed to fully load on my end. Will need someone else to confirm that this isn't a persistent issue.

Upellift99 commented 9 months ago

It's working on my Ubuntu 22.04 LTS !

HeavenVolkoff commented 9 months ago

@HeavenVolkoff Install went perfectly with my Ubuntu 23.10 VM. However, the window failed to fully load on my end. Will need someone else to confirm that this isn't a persistent issue.

There is currently an issue with webkit2gtk and software rendering (such as llvmpipe, which is normally used in VMs) in which the web content fails to render or renders incorrectly. Can you check if you are using software rendering and if so could you try running Spacedrive with hardware rendering (such as virgl) or bare meal, just to make sure this issue is unrelated with the deb itself.

You can check what driver you are using for rendering with: glxinfo | awk -F':' '$1 ~ /Device|OpenGL renderer/ {print $2}' glxinfo is from the mesa-utils package

EDIT: Was looking more into this issue and there seems to be a work-around. Running with env WEBKIT_DISABLE_COMPOSITING_MODE=1 spacedrive fix the rendering errors in my test Ubuntu VM when using llvmpipe.

gedeondoescode commented 9 months ago

I'll see what I can do

gedeondoescode commented 9 months ago

Works after bare metal install of Ubuntu 23.10 @HeavenVolkoff

HeavenVolkoff commented 9 months ago

Thanks to everyone that contributed to this issue report and to @gedeondoescode and @Upellift99 for the post-fix tests. If anyone has any new problem with the deb release, please fell free to open a new issue