1. 30 Dec, 2017 1 commit
    • Mihai Moldovan's avatar
      nxagent: implement RPATH/RUNPATH override for libX11. · 26ab7b8a
      Mihai Moldovan authored
      As discussed in ArcticaProject/nx-libs#610, we need a way to load
      libNX_X11 as a fake version of libX11 into nxagent's address space.
      
      For doing so, we have to link against libX11 at build-time and specify
      a(n) RPATH/RUNPATH to our libX11 -> libNX_X11 compat symlinks.
      
      This commit is essentially doing a cross between options 3 and 4
      discussed in the provided GH issue.
      
      We link libX11 early (before specifying -Lcompat_symlinks_dir), so that
      the linker finds the "real" libX11 version with the libX11 SONAME. This
      leads to our binary depending upon both libX11 and libNX_X11 SONAMEs. We
      already always added RPATH/RUNPATH, but these values are not passed down
      to dependent libraries.
      
      What happens at run-time is that the loader searches for a libX11
      SONAME, takes RPATH/RUNPATH into account and loads our libNX_X11 library
      instead via the compat symlinks. This satisfies the libX11 SONAME and
      dependent libraries will *not* load the system libX11 version again.
      
      Debian's dpkg-shlibdeps isn't quite happy about this mismatching SONAME
      situation, so instruct to look the other way while we're minding our
      business.
      
      Fixes: ArcticaProject/nx-libs#610
      26ab7b8a
  2. 16 Dec, 2017 3 commits
  3. 15 Dec, 2017 2 commits
  4. 14 Dec, 2017 4 commits
  5. 13 Dec, 2017 4 commits
  6. 05 Dec, 2017 1 commit
  7. 10 Nov, 2017 1 commit
  8. 08 Nov, 2017 4 commits
  9. 04 Nov, 2017 2 commits
  10. 02 Nov, 2017 2 commits
  11. 16 Oct, 2017 6 commits
  12. 10 Oct, 2017 1 commit
  13. 15 Sep, 2017 3 commits
  14. 30 Aug, 2017 4 commits
  15. 25 Aug, 2017 2 commits