BlueBubblesApp / bluebubbles-app

A cross-platform app ecosystem, bringing iMessage to Android, PC (Windows, Linux, & even macOS), and Web!
https://bluebubbles.app
Apache License 2.0
722 stars 100 forks source link

Cannot launch standalone installation on linux #2747

Closed seanlowe closed 4 months ago

seanlowe commented 4 months ago

Hello, I recently switched computers and had to start my linux setup from scratch, meaning I had to reinstall BlueBubbles. I successfully installed and ran the app from the snap Store but it was causing weird issues with my DE (GNOME 41.7). Knowing that sometimes apps downloaded from the snap store can be wonky, I then went in search of a different method of installation and found that I could install it as a standalone.

First issue: the docs for standalone installation on linux are outdated.

They say to download the .zip file linked above.

With the tar now downloaded, I was slightly confused by the bundle/lib terminology as there was no bundle directory. Could be the way I untarred it as I just extracted everything to my empty downloads directory. Either way, I moved the appropriate file from lib/libobjectbox.so to /usr/lib

Tried running command: ./bluebubbles and got the following output:

./bluebubbles: error while loading shared libraries: libwebkit2gtk-4.1.so.0: cannot open shared object file: No such file or directory

Thinking this might be a missing dependency I ran this command the docs give you:

sudo apt-get -y install libnotify-dev vlc libvlc-dev appindicator3-0.1 libappindicator3-dev

But that failed. I changed appindicator3-0.1 to libappindicator3-1 and it worked:

sudo apt-get -y install libnotify-dev vlc libvlc-dev libappindicator3-1 libappindicator3-dev

rerunning ./bluebubbles still gives the same error message.

Also, it might be beneficial to have a little section on adding a desktop entry so people can launch it via the application menu or dock.

seanlowe commented 4 months ago

I just tried moving the executable to /usr/bin/ and tried running it again and it throws this error:

bluebubbles: error while loading shared libraries: libbitsdojo_window_linux_plugin.so: cannot open shared object file: No such file or directory

This error also occurs if the executable is located in /usr/local/bin/ or in the lib/ (currently located in ~/Downloads) directory that comes from the tar package. But, moving it back up to ~/Downloads shows the original error:

./bluebubbles: error while loading shared libraries: libwebkit2gtk-4.1.so.0: cannot open shared object file: No such file or directory
jjoelj commented 4 months ago

The easiest way to get this working on Linux is to install from Flathub.

However, your error suggests you need to install libwebkit2gtk-4.1-0 or an equivalent package that provides libwebkit2gtk-4.1.so.0

The documentation needs to be updated.

seanlowe commented 4 months ago

You'd be right.

I installed libwebkit2gtk-4.1-0 and ran the app (still in ~/Downloads) and got the following error:

./bluebubbles: error while loading shared libraries: libmpv.so.1: cannot open shared object file: No such file or directory

OK, so then I install libmpv1 and re-ran the application. It successfully launches and runs. Alright, cool. So then I moved it back into /usr/local/bin/ and re-ran it. Got this error:

bluebubbles: error while loading shared libraries: libbitsdojo_window_linux_plugin.so: cannot open shared object file: No such file or directory

I have apt search'd and google'd but I can't find what library I need to install to get libbitsdojo_window_linux_plugin.so

jjoelj commented 4 months ago

libbitsdojo_window_linux_plugin.so is one of the files provided by the tarball. I think you either need to add the downloaded lib folder to your LD_LIBRARY_PATH or move the shared object files to your /usr/local/lib.

seanlowe commented 4 months ago

Ah, sure enough: there it is.

Do I need to do anything with the provided data/ directory?

jjoelj commented 4 months ago

I'm not sure about that. My guess is that it expects to be in the same folder as the downloaded executable. Maybe put a symlink to the executable into your /usr/local/bin instead of moving it there? I've never attempted installing from the tarball. Its primary purpose is to provide the files needed for the flatpak.

seanlowe commented 4 months ago

OK - a bit of a hacky solution but I created an ~/Applications directory with a pkg child directory and put all the BB stuff in a folder in the pkg (~/Applications/pkg/bluebubbles). Then I created a symlink in the ~/Applications dir to the bluebubbles executable. Then added ~/Applications to my path, and created a bluebubbles.desktop file in ~/.local/share/applications so I can launch the app from the application menu or the terminal

Since technically my problem is solved, I'll close this issue.