Skip to content

Conference call notes 20160111

Kenneth Hoste edited this page Jan 11, 2016 · 9 revisions

(back to Conference calls)

Notes on the EasyBuild conference call dedicated to discussing implementation of RPATH support, Monday January 11th 2016 (5pm CET)

Attendees

Alphabetical list of attendees (10):

  • Xavier Besseron (Uni.lu, Luxembourg)
  • Timothy Brown (Uni. of Colorado @ Boulder, US)
  • Pablo Escobar (UniBas, Switzerland)
  • Elisabeth Fisher (NASA, US)
  • Todd Gamblin (LLNL, US)
  • Fotis Georgatos (freelancer)
  • Kenneth Hoste (HPC-UGent, Belgium)
  • Lumír Jasiok (IIT4Innovations, Czech Republic)
  • Alan O'Cais (JSC, Germany)
  • Ward Poelmans (HPC-UGent, Belgium)

Agenda

  • implementation of support for RPATH linking in EasyBuild
    • different available options?
    • overall approach for implementing option of choice
    • who does what?

Notes

Options
  • compiler wrapper script (cfr. Spack)

  • ld wrapper script (cfr. Spack, script from Swedish colleagues)

    • should be sufficient (?)
  • patchelf

    • doesn't work on OS X
    • 'dummy' values need to be included that are long enough to hold actual path
  • $ORIGIN

    • can be used to support relative RPATH'ing
    • allows relocating installations later
    • advantage of Conda over Nix
    • not used in Spack today
  • sanity check?

    • match ldd & readelf
    • Todd has something that works on Linux
  • RPATH support means sort of re-architecting EB design?

    • RPATH support is step towards dropping modules as part of build process?
    • modules are still useful for users
  • $LD_LIBRARY_PATH may still be needed

    • e.g. for compilers (depends on how they were built)
    • Intel compilers are patched at LLNL to use RPATH
  • use of RPATH will fix problems caused by loading modules

    • loading CMake (which loads ncurses) breaks htop on the system
    • also allows using tools built with different toolchains/versions
      • linking to two different versions of a library in the same binary may not work though...
    • comes close to 'toolchain-neutral' software (cfr. https://github.com/hpcugent/easybuild-framework/issues/570)
  • default on OS X is to use full paths to libraries

    • how is that different from RPATH?
    • very different from default on Linux
Clone this wiki locally