by Blzut3 » Mon Apr 27, 2015 2:40 pm
Well since I started using Linux in 2008, I haven't once personally run into a problem running multiple versions of the same program.
I haven't had an issue with all versions of ZDoom accessing the same config file (switch from ~/.zdoom to ~/.config/zdoom aside). I find it to be true for most applications that sharing the config file between versions does no harm, so 99% of the time we get the benefit of not having to reconfigure the program for every version installed. In the rare case that it does pose a problem you're probably the developer of said program and can work around it, or in ZDoom's case the ini path can be explicitly given.
All other data isn't supposed to be tampered with (IWADs), so we have those in a read only section of the file system. For shared libraries like FMOD, there are two solutions in play. First libraries are tagged with their ABI version (e.g. libwhatever.so.1.0.0, note that the version number there is of ABI not the version of the library). Secondly, it does support loading from the same directory as the binary or any directory that's baked into the binary.
As for having multiple versions installed in general. Running from the build directory works for most programs, and if it's a more complex program (development tools) the PATH can be changed and where they look for files is usually a configuration option. Also they generally allow the binary name to be changed to have the version number.
In the end it's a nice system since it's practically uniform, setting up a Linux development environment is super straight forward compared to Windows and (although to a lesser extent) OS X. About the only real advantage I can think of to the way Windows does things is that installing source ports is trivial since "where do I put the game data" is relatively obvious.
Well since I started using Linux in 2008, I haven't once personally run into a problem running multiple versions of the same program.
I haven't had an issue with all versions of ZDoom accessing the same config file (switch from ~/.zdoom to ~/.config/zdoom aside). I find it to be true for most applications that sharing the config file between versions does no harm, so 99% of the time we get the benefit of not having to reconfigure the program for every version installed. In the rare case that it does pose a problem you're probably the developer of said program and can work around it, or in ZDoom's case the ini path can be explicitly given.
All other data isn't supposed to be tampered with (IWADs), so we have those in a read only section of the file system. For shared libraries like FMOD, there are two solutions in play. First libraries are tagged with their ABI version (e.g. libwhatever.so.1.0.0, note that the version number there is of ABI not the version of the library). Secondly, it does support loading from the same directory as the binary or any directory that's baked into the binary.
As for having multiple versions installed in general. Running from the build directory works for most programs, and if it's a more complex program (development tools) the PATH can be changed and where they look for files is usually a configuration option. Also they generally allow the binary name to be changed to have the version number.
In the end it's a nice system since it's practically uniform, setting up a Linux development environment is super straight forward compared to Windows and (although to a lesser extent) OS X. About the only real advantage I can think of to the way Windows does things is that installing source ports is trivial since "where do I put the game data" is relatively obvious.