-
- Downloads
Build -system-info and -check-locale with relative DT_RPATH
This ensures that they can find the non-ubiquitous json-glib library,
and the steam-runtime-tools library, even if relocated into a
non-standard prefix like the LD_LIBRARY_PATH Steam Runtime.
We can't just use a relative version of the standard library directory
as our RPATH, because if we did that, we would load glibc from the
same place. This causes crashes in pressure-vessel, where ld.so and
the rest of glibc are often taken from the host system via
/overrides/lib, and the glibc in /lib and /usr/lib is incompatible
with ld.so. Instead, use a private library directory and populate it
with relative symlinks to our non-glibc dependencies; we assume the
host version of glibc is new enough that this is OK.
Using DT_RPATH in preference to DT_RUNPATH means we take all our direct
and indirect dependencies from the same place. This is important when
libjson-glib (which won't ordinarily have a RUNPATH or RPATH) pulls in
GIO as an indirect dependency of check-locale, which doesn't directly
depend on GIO. The GIO library we get must match the versions of GLib
and GObject we're using.
This also bypasses LD_LIBRARY_PATH.
Signed-off-by:
Simon McVittie <smcv@collabora.com>
parent
a32d9290
No related branches found
No related tags found
Showing
- bin/meson.build 4 additions, 0 deletionsbin/meson.build
- debian/control 1 addition, 0 deletionsdebian/control
- debian/libsteam-runtime-tools-0-helpers.install 1 addition, 0 deletionsdebian/libsteam-runtime-tools-0-helpers.install
- debian/rules 41 additions, 7 deletionsdebian/rules
- helpers/meson.build 11 additions, 1 deletionhelpers/meson.build
- meson.build 32 additions, 0 deletionsmeson.build
- steam-runtime-tools/utils.c 9 additions, 2 deletionssteam-runtime-tools/utils.c
Loading
-
mentioned in commit ea250de4
-
mentioned in merge request !88 (merged)
Please register or sign in to comment