#12
Post
by DwarfCleric » Sat Dec 25, 2021 9:27 pm
This was incredibly confusing to me after updating Zandronum from 3.0 to 3.1.1 this week (updated rolled a few weeks ago, and some servers are using this version, while others are still using older versions)
Note: Linux (argh)
During the process of TRYING to update Zandronum, I stumble on the fact of how unnecessarily confusing the whole thing is packaged and the cumbersome process of updating it. On Debian at least, telling APT to install the Zandronum and Zandronum-Server packages DOES NOT automatically tell Apt to download extra required dependencies.
Adding to confusion, it seems like the repository doesn't communicate with Doomseeker at all, separate repositories completely isolated from one another. This can lead to situations where you can have an installed Doomseeker being able to run but not Zandronum, and vice-versa. Or situations like Doomseeker will not be able to join the Zandronum game. The entire process of finding how to update Zandronum version on Linux ended up taking me about 2 hours, instead of 10 minutes max like it could have been. How is someone supposed to know it's easier extracting the packages into /usr/games directly when there are no instructions for it?
I ended up finding that it's much easier keeping separate versions of Zandronum inside the /usr/games directory, each version in their own directory, by simply extracting the TAR.BZ2 archive.
It's also confusing how there are TAR.BZ2 archives from 3.0 and 3.1.1 versions, but there's not for 3.0.1 (10MB in size versus only 5MB because it doesn't ship with the REQUIRED libraries)
I've only realized this when I started having terminal errors when trying to run 3.0.1 and realizing the libraries were not in the archive, like the other versions.
And then here's the final realization: for connecting to games and joining servers, you can simply use 3.0, you don't need 3.0.1 at all
For applications like these that demand different versions of libraries to run, I think a more "portable" way of running the app should be the standard, like it happens on Windows. You can ship the required libraries within the TAR.BZ2 archive, but Linux will keep looking on the /usr/lib/x86_64 directory for the libs anyway. If they're not there or have symlinks there, the app won't run. Isn't there a way for a Linux executable to look inside its own directory first for a certain library?
Even Windows 3.11 applications were not this confusing to get running.
Linux is slowly becoming more of a joke. 3 hours burned that will never be given back
And even more time for writing this post that no one will ever read (LOL)
I don't get why on Linux side of things it's always this pain and hassle to perform single tasks.
And why Linux keep doing this thing where new versions of "libjpeg" for example will break compatibility with older versions. Most of the time, the new package will break compatibility only to introduce 1 or 2 new functionalities, if even that.