Hi Cedric,

If you need to patch one or two things in a bunch of files, I would highly 
recommend the fileinput approach.

Doing that in the configure step makes sense to me, but you can also override 
the patch_step function. We rarely do that, but maybe we should try and use 
that consistently when patching sources during the EasyBuild run.

K.


Cédric LACZNY <[email protected]> wrote:

>Hi Kenneth,
>On 7 Dec 2012, at 08:41, Kenneth Hoste wrote:
>
>> Hi Cedric,
>> 
>> On 07 Dec 2012, at 08:31, Cédric LACZNY wrote:
>> 
>>> Hi,
>>> 
>>> I wanted to build Cufflinks based on the easyblock and easyconfig of 
>>> https://github.com/fgeorgatos/easybuild.experimental/blob/master/users/claczny/bioinfo/.
>>> However, I get now an error:
>>> claczny@gaia-37:~/easybuild.experimental/users/claczny/bioinfo $ time eb 
>>> Cufflinks-2.0.2-goalf-1.1.0-no-OFED.eb --robot
>> <snip>
>>> File 
>>> "/home/clusterusers/claczny/easybuildEXP/lib/python2.7/site-packages/easybuild_framework-1.0.1-py2.7.egg/easybuild/framework/easyblock.py",
>>>  line 1069, in configure_step
>>>   raise NotImplementedError
>>> 
>>> Probably I am missing something but I don't know what.
>>> 
>>> Looking forward to your inputs.
>> 
>> You're subclassing from the abstract easyblock class EasyBlock, which 
>> doesn't implement an yof the (major) step functions, it just raises a 
>> NotImplementedError.
>> 
>> What you probably want it to derive from the ConfigureMake easyblock, which 
>> implements the configure-make-make install build procedure.
>> 
>> You can import that easyblock with
>> 
>> from easybuild.easyblocks.generic.configuremake import ConfigureMake
>> 
>> 
>> That should help.
>> 
>> BTW, the way you're patching files in the configure step is not ideal. You 
>> have two, much better, options:
>
>Thank you for the hints.
>
>i second that it is not ideal to work with sed in the configure_build step. In 
>this particular situation several files need that adjustment, so they would 
>all need to be patched. I don't know how to do a "one-for-all" patch and I 
>don't know if it is nice to have a patch-file for every individual file that 
>suffers from this error. That is why I decided to do the "patching" online 
>along the build-process with sed-command.
>
>> 
>> * create an actual patch file, using the 'diff' command (if you don't know 
>> how, tell us, we'll document it on the wiki)
>> * using the fileinput and re Python packages, see for example 
>> https://github.com/hpcugent/easybuild-easyblocks/blob/master/easybuild/easyblocks/w/wrf.py
>> 
>
>I will check on those. Thank you.
>
>> Please try and use on of these approaches before contributing back the 
>> easyblock instead of using sed.
>> 
>
>In which step of the build process should this happen in your opinion? Is the 
>configure_step alright, only the fact that sed is use is discouraged?
>
>> 
>> regards,
>> 
>> Kenneth
>
>Best,
>
>Cedric
>
>Cedric Laczny,
>PhD Student
> 
>UNIVERSITÉ DU LUXEMBOURG
> 
>LUXEMBOURG CENTRE FOR SYSTEMS BIOMEDICINE
>Campus Belval | House of Biomedicine
>7, avenue des Hauts-Fourneaux
>L-4362 Esch-sur-Alzette
>T +352 46 66 44 6398
>F +352 46 66 44 6949
>[email protected]     http://lcsb.uni.lu
> 
>
>-----
>This message is confidential and may contain privileged information. It is 
>intended for the named recipient only. If you receive it in error please 
>notify me and permanently delete the original message and any copies.
>-----
>
>
>

Reply via email to