Revision e118207d2fa6717bae37dc8090f561c64af296d5 authored by Keno Fischer on 31 August 2023, 07:08:32 UTC, committed by Keno Fischer on 31 August 2023, 07:10:20 UTC
Alternative to #51108.
1 parent a355403
fixup-rpath.sh
#!/bin/sh
# This file is a part of Julia. License is MIT: https://julialang.org/license
# Usage: fixup-rpath.sh <patchelf path> <dir to process> <build libdir>
if [ $# -ne 3 ]; then
echo "Incorrect number of arguments: Expected 3, got $#"
echo "Usage: fixup-rpath.sh <patchelf path> <directory to process> <build libdir>"
exit 1
fi
patchelf="$1"
executable_dir="$2"
build_libdir="$3"
for lib in $(find ${executable_dir} -type f -perm -111); do
# First get the current RPATH
rpath="$(${patchelf} --print-rpath ${lib})"
# If it doesn't contain the build's libdir, we don't care about it
if [ -z "$(echo ${rpath} | grep -F ${build_libdir})" ]; then
continue
fi
# Remove build_libdir from the RPATH, retaining the rest
new_rpath="$(echo ${rpath} | tr : \\n | grep -vF ${build_libdir} | tr \\n :)"
# Drop the trailing :
new_rpath="${new_rpath%?}"
echo " Setting RPATH for ${lib} to '${new_rpath}'"
# Now set the new RPATH
${patchelf} --set-rpath "${new_rpath}" ${lib}
done
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...