aboutsummaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
authorSulfurNitride <SulfurNitride@users.noreply.github.com>2026-02-15 12:22:51 -0600
committerSulfurNitride <SulfurNitride@users.noreply.github.com>2026-02-15 12:22:51 -0600
commitbd25ca97297d766bc24fb09e0f95d1bf7d2baf73 (patch)
tree85054cfa12c07026c5945ceee5d804fddb6ab35f /docker
parent6410929e17d642618f284d5c97d457f1ac653e6e (diff)
Fix RPATH, absolute instance paths, Proton symlink matching, umu-run logging, pybind11 warning
- Set $ORIGIN-relative RPATH on binaries so they find libs without LD_LIBRARY_PATH (fixes #12) - Check QDir::isAbsolutePath before concatenating instance paths to prevent doubling of custom portable paths - Canonicalize paths when matching Proton installations to handle symlinks in /usr/share/steam/compatibilitytools.d/ (fixes #8) - Add diagnostic logging for umu-run resolution showing preference, bundled/system paths, and final selection (helps diagnose #8) - Warn at CMake time if pybind11 >= 2.14 is detected (documents #9) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Diffstat (limited to 'docker')
-rwxr-xr-xdocker/build-inner.sh6
1 files changed, 6 insertions, 0 deletions
diff --git a/docker/build-inner.sh b/docker/build-inner.sh
index 962898b..7c83796 100755
--- a/docker/build-inner.sh
+++ b/docker/build-inner.sh
@@ -210,6 +210,12 @@ for tool in wrestool icotool lootcli; do
[ -f "${OUT_DIR}/${tool}" ] && strip --strip-unneeded "${OUT_DIR}/${tool}" 2>/dev/null || true
done
+# ── Fix RPATH so binaries find libs without LD_LIBRARY_PATH ──
+echo "Patching RPATH..."
+patchelf --set-rpath '$ORIGIN/lib' "${OUT_DIR}/ModOrganizer-core"
+[ -f "${OUT_DIR}/lootcli" ] && patchelf --set-rpath '$ORIGIN/lib' "${OUT_DIR}/lootcli"
+find "${OUT_DIR}/plugins" -name "*.so" -exec patchelf --set-rpath '$ORIGIN/../lib' {} \; 2>/dev/null || true
+
# ── Validate embedded Python runtime ──
cat > /tmp/mo2_embed_py_check.c <<'C'
#include <Python.h>