I’m a noob, isn’t every (open source) program aviable for every distribution if you compile it from source? It’s all Linux in the end (i never compiled a program from source, so I don’t know if it’s easy at all)
Some programs may use libraries or tools specific to a distributions package manager. For example, yay, an AUR helper/pacman wrapper. You would have a very hard time getting it to work on Debian.
Other programs might only include build scripts for a distro specific build system. For example, a program might skip using a Makefile, and do everything in the Arch-specific PKGBUILD.
Generally though, most software uses a standard cross-distro (or even OS) build system. In this case, compiling from source would be an option on any distro. The program might still only be packaged for Arch/NixOS/Gentoo (or others), as it is a very simple process to do so.
Usually the only tricky part of compiling from source is tracking down dependencies. The package manager does that for you normally but you’re not using the package manager when compiling from scratch. The actual building (even compiling a kernel) isn’t all that complicated.
If you need the python header files, depending on your distro, you may need to install python3-dev, python3-devel, python3, or some other variation on the name. For a novice, this might not always be obvious and they might not know things like apt-file are helpful for figuring it out.
I’m a noob, isn’t every (open source) program aviable for every distribution if you compile it from source? It’s all Linux in the end (i never compiled a program from source, so I don’t know if it’s easy at all)
Some programs may use libraries or tools specific to a distributions package manager. For example, yay, an AUR helper/pacman wrapper. You would have a very hard time getting it to work on Debian.
Other programs might only include build scripts for a distro specific build system. For example, a program might skip using a Makefile, and do everything in the Arch-specific PKGBUILD.
Generally though, most software uses a standard cross-distro (or even OS) build system. In this case, compiling from source would be an option on any distro. The program might still only be packaged for Arch/NixOS/Gentoo (or others), as it is a very simple process to do so.
Usually the only tricky part of compiling from source is tracking down dependencies. The package manager does that for you normally but you’re not using the package manager when compiling from scratch. The actual building (even compiling a kernel) isn’t all that complicated.
Usually developers list dependencies in README anyway
True. It’s the dependencies of dependencies where the tricky part starts.
Dependencies almost always are present in distro repos. What’s tricky?
If you need the python header files, depending on your distro, you may need to install python3-dev, python3-devel, python3, or some other variation on the name. For a novice, this might not always be obvious and they might not know things like
apt-file
are helpful for figuring it out.Huh. Shouldn’t apt install header dependencies too? I’m using system where every package comes with headers, so I don’t install headers separately.
Debian and RedHat based distros typically do not bundle them together. The have separate
-dev
and-devel
packages for headers.Yes, but not every package is in every repository