I can try to hop on the call briefly at the beginning, but I won't be able
to stay for the whole thing.  I have some guests visiting LLNL who I have to
meet about halfway through.

-Todd

From:  <[email protected]> on behalf of Robert Schmidt
<[email protected]>
Reply-To:  "[email protected]" <[email protected]>
List-Post: [email protected]
Date:  Tuesday, January 5, 2016 at 12:48 PM
To:  "[email protected]" <[email protected]>
Subject:  Re: [easybuild] next EasyBuild conf call: Wed Jan 6th 2016, 5pm
CET

> Todd, it is an interesting idea to use RPATH deeper in the hierarchy. I think
> you know the use case pretty well here. Are you planning on attending the call
> or maybe we can arrange one to include your input?
> 
> I would add that it might be worthwhile talking about $ORIGIN and relocation.
> This is one thing that conda does reasonably well and is an interesting
> feature, especially for distributing binaries.
> 
> It does seem like an area where we can work with spack and specifically the
> dependency resolution code.
> 
> 
> On Tue, Jan 5, 2016 at 3:32 PM Xavier Besseron <[email protected]> wrote:
>> Dear all, 
>> 
>> I would also be in favor of having a discussion about RPATH/RUNPATH/etc. I'm
>> not totally sure it is doable, but I believe it should be investigated.
>> 
>> However, I'm not sure that the next EasyBuild conf call will be the right
>> place to discuss this (unless we want it to last for one hour).
>> Kenneth, do you want to include this topic in the agenda?
>> 
>> If you plan to discuss this, during this EasyBuild conf call, or at another
>> dedicated conf call, please tell us because I will interested to join the
>> discussion.
>> 
>> 
>> Xavier 
>> 
>> 
>> 
>> 
>> On Tue, Jan 5, 2016 at 12:31 PM, Gamblin, Todd <[email protected]> wrote:
>>> Spack links with RPATHs. It also allows you to have sub-DAG(s) built with
>>> different compiler(s).  It's not the default, but it's easy to specify if
>>> you need it:
>>> 
>>>    spack install tool%intel ^wx%gcc
>>> 
>>> You can also encode that in the package if it really requires gcc.
>>> 
>>> We've played with RUNPATH at LLNL and it's not as easy as you might think to
>>> swap it in for RPATH.  The compiler options for RUNPATH are less consistent
>>> and I'm not sure it's supported on all of them, though I haven't checked
>>> recently. I've not yet encountered a compiler without RPATH support -- have
>>> you?  RedHat recently asked us about getting rid of RPATH and we told them
>>> no pretty emphatically.
>>> 
>>> The main issue with RUNPATH is the one mentioned in the Qt blog below.  Its
>>> semantics differ from RPATH for indirect dependencies -- it's easy for
>>> system libs to leak into a RUNPATH'd binary. Personally I think this is
>>> broken.  If you want your executables to "just work", use RPATH.
>>> 
>>> The other thing about RUNPATH is that it allows your users to shoot
>>> themselves in the foot with LD_LIBRARY_PATH.  They never remember that they
>>> stuck that line in their bashrc that one time for that one code, and blam
>>> everything's broken.  RPATH puts the precedence in the hands of the tool,
>>> which knows how to link, at least in theory.
>>> 
>>> Combining RPATH with lmod hierarchies is something we talked about at the
>>> hackathon.   I haven't thought too deeply about this but I think RPATHs
>>> would really simplify the management code that goes into hierarchical
>>> modules - for deps that are not "in" the hierarchy (e.g. Boost), if you
>>> RPATH them you don't have to generate code to load/unload them on swap if,
>>> say, one leaf needs one boost version and another leaf requires a different
>>> boost version.
>>> 
>>> Todd
>>> 
>>>  
>>> 
>>> From: [email protected] on behalf of Alan O'Cais
>>> Sent: Tuesday, January 05, 2016 2:24:39 AM
>>> To: [email protected]
>>> Subject: Re: [easybuild] next EasyBuild conf call: Wed Jan 6th 2016, 5pm CET
>>> How about some further discussion on RPATH/RUNPATH, what's involved in
>>> supporting it and whether or not it's a good idea (since RPATH is actually
>>> depreciated for about 15 years in favour of RUNPATH but still typically
>>> respected https://sourceware.org/ml/binutils/2012-05/msg00025.html). From
>>> what it I understand RUNPATH will ensure a binary always find it's libs but
>>> gives priority to LD_LIBRARY_PATH, how things really function is not that
>>> straightforward though (see "Why does this happen?" in
>>> http://blog.qt.io/blog/2011/10/28/rpath-and-runpath/).
>>> 
>>> Personally I think I might be favour of creating an abstraction layer
>>> between the module view (default, hierarchy,...) and the installations and
>>> combining this with RUNPATH. I don't see a good reason to change where
>>> things get installed based on the module naming scheme, all we really need
>>> is the ability to translate between the default naming scheme and other
>>> naming schemes (which is trivial since if we know the installation path for
>>> the default, we can grab all the installed eb files from within). If you
>>> couple this with RUNPATH, every executable/lib will just work even if you
>>> cherry pick the modules you want to expose to users. This would have huge
>>> advantages in the sense that we could use different naming schemes for
>>> different groups on the same system and the same installations. It would
>>> also remove the disadvantages currently imposed by hierarchical schemes
>>> (wxwidgets only builds with GCC and since I can't/shouldn't load GCC and
>>> intel at once in a proper hierarchical scheme, nothing that requires
>>> wxwidgets can be built for intel, this restriction doesn't exist for the
>>> default naming scheme and would be solved in the hierarchical scheme with
>>> RUNPATH).
>>> 
>>> Alan
>>> 
>>> Alan
>>> 
>>> On 5 January 2016 at 10:33, Kenneth Hoste <[email protected]> wrote:
>>>> Dear EasyBuilders,
>>>> 
>>>> The next EasyBuild conf call is planned for tomorrow, Wed Jan 6th 2016, at
>>>> 5pm CET.
>>>> (Google+ event: https://plus.google.com/events/cv4pst7c0s9kbrgnofca4dkdgvs)
>>>> 
>>>> Topics I have in mind include:
>>>> 
>>>> * 2016a common toolchains
>>>> * support for eb --new-pr (WIP)
>>>>     * cfr. https://github.com/hpcugent/easybuild-framework/pull/1528
>>>> * workaround for issues with Python packages being picked up from the OS
>>>> (WIP)
>>>>     * cfr. https://github.com/hpcugent/easybuild-easyblocks/pull/786
>>>> * open Q&A
>>>> 
>>>> Suggestions for other topics are welcome, as usual.
>>>> 
>>>> Please let me know in one way or another if you're planning to attend.
>>>> 
>>>> More details on the EasyBuild conf calls are available at
>>>> https://github.com/hpcugent/easybuild/wiki/Conference-calls .
>>>> 
>>>> 
>>>> 
>>>> regards,
>>>> 
>>>> Kenneth
>>> 
>>> 
>>> 
>>> -- 
>>> Dr. Alan O'Cais
>>> Application Support
>>> Juelich Supercomputing Centre
>>> Forschungszentrum Juelich GmbH
>>> 52425 Juelich, Germany
>>> 
>>> Phone: +49 2461 61 5213 <tel:%2B49%202461%2061%205213>
>>> Fax: +49 2461 61 6656 <tel:%2B49%202461%2061%206656>
>>> E-mail: [email protected]
>>> WWW:    http://www.fz-juelich.de/ias/jsc/EN
>>> 
>>> 
>>> ----------------------------------------------------------------------------
>>> --------------------
>>> ----------------------------------------------------------------------------
>>> --------------------
>>> Forschungszentrum Juelich GmbH
>>> 52425 Juelich
>>> Sitz der Gesellschaft: Juelich
>>> Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
>>> Vorsitzender des Aufsichtsrats: MinDir Dr. Karl Eugen Huthmacher
>>> Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender),
>>> Karsten Beneke (stellv. Vorsitzender), Prof. Dr.-Ing. Harald Bolt,
>>> Prof. Dr. Sebastian M. Schmidt
>>> ----------------------------------------------------------------------------
>>> --------------------
>>> ----------------------------------------------------------------------------
>>> --------------------
>>> 
>> 
>> 
>> 
>> -- 
>> Dr Xavier BESSERON
>> Research associate
>> FSTC, University of Luxembourg
>> Campus Kirchberg, Office E-007
>> Phone: +352 46 66 44 5418
>> http://luxdem.uni.lu/
>> 


Reply via email to