I'm sorry, maybe I should have clarified: Foo requires BAR_BIN to be present at 
runtime , so yes, I really do want it to be set in the module file of Foo. Foo 
provides a (GUI) wrapper for Bar, but it needs to know the location of the Bar 
binary. Rather than searching the path - as other programs might have done -, 
Foo uses the BAR_BIN environment variable to locate and call Bar (in fact, the 
installation instructions for Foo list that you have to set BAR_BIN). 

Regards, 

Caspar 


From: "Alan O'Cais" <a.oc...@fz-juelich.de> 
To: "easybuild" <easybuild@lists.ugent.be> 
Sent: Monday, 8 January, 2018 12:38:32 
Subject: Re: [easybuild] Use of EBROOT of a dependency as modextravar 

I think you are misunderstanding the scope of modextravars, it is there to set 
additional variables in the resultant module file from the installation (it is 
not relevant to the install process of the software, only the final module file 
that is written). The modextravars should be set in the Bar easyconfig if you 
wish to leverage it in Foo? Otherwise you just use something like 

preconfigopts = 'BAR_BIN=$EBROOTBAR/bin ' 

in the Foo easyconfig. 

On 8 January 2018 at 12:29, Caspar van Leeuwen < [ 
mailto:caspar.vanleeu...@surfsara.nl | caspar.vanleeu...@surfsara.nl ] > wrote: 





Dear EasyBuilders, 




Question: I have a Package Foo that provides a wrapper for a software package 
Bar. Thus, in the EasyConfig for Foo, I list Bar as a dependency. 




Now, Foo requires an environment variable BAR_BIN to be set that points to the 
Bar binary. Thus, what I would like to do in the Foo EasyConfig is something 
like: 




modextravars = {‘BAR_BIN’: ‘$EBROOTBAR/bin’} 




This doesn’t work: I get an error (something like ‘no variable EBROOTBAR’). I 
presume the reason is that in the modextravars step for 'Foo', the 'Bar' module 
isn’t actually loaded - thus EBROOTBAR is not set. 




I could use $root (which points to the FOO root, and does exist when 
modextravars is executed) and peal off the …/Foo/(version)-(toolchain), then 
add .../Bar/(version)-(toolchain), but this feels like a very dirty solution. 




Does anyone know of an elegant way to achieve this? And just to check: is it 
correct that the dependencies are not loaded when modextravars is executed? 




Best regards, 





Caspar van Leeuwen 






-- 
Dr. Alan O'Cais 
E-CAM Software Manager 
Juelich Supercomputing Centre 
Forschungszentrum Juelich GmbH 
52425 Juelich, Germany 

Phone: +49 2461 61 5213 
Fax: +49 2461 61 6656 
E-mail: [ mailto:a.oc...@fz-juelich.de | a.oc...@fz-juelich.de ] 
WWW: [ http://www.fz-juelich.de/ias/jsc/EN | 
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 
------------------------------------------------------------------------------------------------
 
------------------------------------------------------------------------------------------------
 


Reply via email to