Forums » General
Raising the Linux OS requirement
We are raising the Linux OS requirement to mandate glibc 2.27. This basically means any glibc distribution from 2018 or later (Ubuntu 18, Debian 10, Fedora 28+, RHEL / Rocky / Alma 8.x+, etc).
Glibc-based Linux (basically most distributions other than Alpine) has a specific architectural mandate, where any code build on recent glibc will not run on older glibc. Unlike Windows and other platforms, they do not maintain a backwards-compatible "application binary interface" (ABI).
As a result, it's long been a standard practice for anyone building a binary-distributed application for Linux to maintain some kind of VM or docker image or physical machine that's running a fairly ancient version of Linux, to use as their "compatible build center".
Over time, however, the ancient-ness of the build environment becomes a problem for the developer: C++ code standards evolve, compilers get updates, and newer versions of important libraries start mandating more recent build environments.
For awhile you can build hybrid "franken-systems" with newer toolchains running on very-old glibc versions, but eventually that "new-to-old" distance becomes quite a challenge and the reasonable solution is to update to a newer version of glibc.
No one should really be running older desktop Linux anyway, since it's all "End Of Life" and no longer patched for security (and god knows, there have been a lot of security issues of late). But, people have a history of running VO on some pretty unusual systems.
So, this is a heads-up: If your ancient VO potato is running quite-old Linux, perhaps it would be a good time to upgrade.
Glibc-based Linux (basically most distributions other than Alpine) has a specific architectural mandate, where any code build on recent glibc will not run on older glibc. Unlike Windows and other platforms, they do not maintain a backwards-compatible "application binary interface" (ABI).
As a result, it's long been a standard practice for anyone building a binary-distributed application for Linux to maintain some kind of VM or docker image or physical machine that's running a fairly ancient version of Linux, to use as their "compatible build center".
Over time, however, the ancient-ness of the build environment becomes a problem for the developer: C++ code standards evolve, compilers get updates, and newer versions of important libraries start mandating more recent build environments.
For awhile you can build hybrid "franken-systems" with newer toolchains running on very-old glibc versions, but eventually that "new-to-old" distance becomes quite a challenge and the reasonable solution is to update to a newer version of glibc.
No one should really be running older desktop Linux anyway, since it's all "End Of Life" and no longer patched for security (and god knows, there have been a lot of security issues of late). But, people have a history of running VO on some pretty unusual systems.
So, this is a heads-up: If your ancient VO potato is running quite-old Linux, perhaps it would be a good time to upgrade.
Is there a time-frame for this change? I need to update, but I'd like to be able to procrastinate as long as possible. :)
EDIT: Incarnate with his ninja-edit. My glibc version is still good to go.
EDIT: Incarnate with his ninja-edit. My glibc version is still good to go.
Sorry about that, brain-fart in typing (I originally wrote "2.7" instead of "2.27"). Yeah, I expect almost everyone will be good to go? But the change will probably happen next week, or maybe the week after, depending on the outcome of testing.