Skip to content

Linux Compatibility

Míng hàn edited this page May 12, 2026 · 1 revision

🐧 Linux Compatibility

git-tree works on most Linux distributions, but due to differences in system libraries and packaging, some manual setup may be required.


⚙️ Raw Binary Issue (libxdo)

On some systems (especially Arch Linux), you may encounter the following error when running the binary:

error while loading shared libraries: libxdo.so.3: cannot open shared object file

🔧 Fix

If your system only provides libxdo.so.4, you can create a compatibility symlink:

sudo ln -s /usr/lib/libxdo.so.4 /usr/lib/libxdo.so.3

This resolves compatibility issues with binaries built against older libxdo versions.


📦 AppImage Notes

AppImage generally works without installation, but on some Linux distributions:

  • WebKitGTK libraries may not resolve correctly
  • System library paths may differ
  • Some GTK dependencies may be missing

🔧 Required dependencies

Make sure the following packages are installed:

  • webkit2gtk
  • gtk3
  • libgit2
  • libxdo

🧩 Arch Linux Notes

On Arch-based systems:

  • Libraries are rolling-release and may not match expected versions
  • Some binaries may expect older .so versions

If AppImage or binary fails, install required dependencies:

sudo pacman -S webkit2gtk-4.1 gtk3 libgit2 xdotool

🧠 Why this happens

Linux distributions do not guarantee ABI compatibility across all library versions.

This means:

  • A binary built on one system
  • May expect different .so versions on another system

This is normal in Linux environments and not a bug in git-tree.


🚀 Recommended Installation

For the best experience, use the official installer:

curl -fsSL https://raw.githubusercontent.com/MahiroJV/git-tree/master/install.sh | bash

This script will:

  • Detect your operating system
  • Install required dependencies
  • Download the latest release
  • Set up desktop integration (Linux)

❗ Still having issues?

Check the main installation guide:

👉 https://github.com/MahiroJV/git-tree/wiki/Installation

Clone this wiki locally