-
- 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
This commit is part of merge request !85. Comments created here will be created in the context of that merge request.
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
Loading
Please register or sign in to comment