Hi all,

We can certainly start discussing RPATH & co, and fork off a dedicated conf 
call later if needed.
So yes, consider it part of the agenda for tomorrow's conf call.


K.

> On 05 Jan 2016, at 21:31, 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
>> Fax: +49 2461 61 6656
>> 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