From cd69360d6ec6bc2b359a6fd7010568f274c3deb2 Mon Sep 17 00:00:00 2001 From: Simon McVittie <smcv@collabora.com> Date: Fri, 22 Nov 2024 12:29:39 +0000 Subject: [PATCH] container-runtime: Briefly describe how OS upgrades can break expectations libtiff makes a convenient example here, because its ABI breaks on a relatively regular basis, making it important for users of this library to target a specific ABI. Signed-off-by: Simon McVittie <smcv@collabora.com> --- docs/container-runtime.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/docs/container-runtime.md b/docs/container-runtime.md index 06f803a9e..9305f1274 100644 --- a/docs/container-runtime.md +++ b/docs/container-runtime.md @@ -143,7 +143,14 @@ if the host operating system happens to provide libraries that are newer than the ones in `scout`, while still being compatible with the game's assumptions. This is not a stable situation: a game that happened to work in Ubuntu -20.04 could easily be broken by a routine upgrade to Ubuntu 22.04. +22.04 could easily be broken by a routine upgrade to Ubuntu 24.04. +For example, +a game that was compiled in 2022 against a then-current version of `libtiff` +might have a dependency on `libtiff.so.5`, +which was included in Ubuntu 22.04, +but Ubuntu 24.04 no longer provides that library because it has upgraded +to the newer `libtiff.so.6`, +which does not have full ABI compatibility with `libtiff.so.5`. The *Steam Linux Runtime 1.0 (scout)* compatibility tool, app ID 1070560, uses the same container technology as `soldier` to mitigate this problem. -- GitLab