On Thu 09 Jan 2025 at 11:44:40 +0000, Patrick Welche wrote:
On Sat, Jan 04, 2025 at 05:09:22AM +0000, Taylor R Campbell wrote:
And, setting aside whether $ORIGIN is right or wrong, perhaps we could
safely use $ORIGIN during the build, and teach check-shlibs and
REQUIRES and pkg_add and whatever to find and reject $ORIGIN if it is
found to be baked into the final product.
That would make meson using packages build as is without patching meson
and sprinkling LD_LIBRARY_PATH everywehere. From memory, meson even tries
to allow reproducible builds which have an issue if $ORIGIN is say very
large during the build and is replaced by a shorter path.
I had a thought about converting paths with $ORIGIN by replacing $ORIGIN
with a concrete absolute path. However there is the question about which
path to use. The final installation path makes sense, because then the
binary works when it is installed. However if the build process wants to
run its just-built binaries, then it still needs some extra help like
LD_LIBRARY_PATH, so this solution isn't totally perfect.