Well, that worked! Thank you very much!
I have a follow-up question :-)
In my easyconfig script I have the line
postinstallcmds = ['chmod 755 fastqc']
Unfortunately this does not alter the rights. If I use bin/fastqc (where it is
supposed to be copied to), it claims that the file doesn't exist. I use
shutil.copytree to copy the whole package content to bin. When is
postinstallcmds executed? I assume that it happens after the copy step, so I
wonder why he can't detect bin/fastqc.
Cheers,
Oliver
________________________________________
From: [email protected] [[email protected]] on
behalf of Kenneth Hoste [[email protected]]
Sent: Tuesday, June 09, 2015 4:10 PM
To: [email protected]
Subject: Re: [easybuild] Setting up own easyblock repository
Hi Oliver,
The name of the module file should be lowercase, i.e. fastqc.py.
Can you try that?
regards,
Kenneth
On 09/06/15 15:44, Stolpe, Oliver wrote:
> Hello Kenneth,
>
> please find the requested files attached! I also attached the recipy. In the
> log file I found these lines suspicious:
>
> == 2015-06-09 13:17:14,712 main.easyconfig.easyconfig DEBUG Failed to import
> module 'easybuild.easyblocks.fastqc': No module named fastqc
> == 2015-06-09 13:17:14,713 main.easyconfig.easyconfig DEBUG No module path
> 'easybuild.easyblocks.fastqc' found
> == 2015-06-09 13:17:14,713 main.easyconfig.easyconfig DEBUG Module path
> determined based on software name: easybuild.easyblocks.fastqc
> == 2015-06-09 13:17:14,713 main.easyconfig.easyconfig DEBUG getting class for
> easybuild.easyblocks.fastqc.EB_FastQC
> == 2015-06-09 13:17:14,713 main.easyconfig.easyconfig DEBUG error regexp: No
> module named fastqc
>
> Cheers,
> Oliver
>
> ________________________________________
> From: [email protected] [[email protected]] on
> behalf of Kenneth Hoste [[email protected]]
> Sent: Tuesday, June 09, 2015 3:08 PM
> To: [email protected]
> Subject: Re: [easybuild] Setting up own easyblock repository
>
> Hi Oliver,
>
> On 09/06/15 14:17, Stolpe, Oliver wrote:
>> Hello Kenneth and Niek,
>>
>> thanks for your quick answers!
>> It wasn't clear to me from the documentation that easybuild directory also
>> needs __init__.py.
>>
>> Now I got:
>>
>> $ find easybuild
>> easybuild/__init__.py
>> easybuild/easyblocks
>> easybuild/easyblocks/__init__.py
>> easybuild/easyblocks/FastQC.py
>> easybuild/easyblocks/FastQC.pyc
>>
>> And:
>>
>> $ echo $PYTHONPATH
>> /tools/easybuild/software/EasyBuild/2.1.1/lib/python2.7/site-packages:/tools/easybuild.local/easybuild/easyblocks:/tools/easybuild.local:/tools/easybuild.local/easybuild/
>>
>> It exists:
>>
>> $ eb --list-easyblocks | grep -i fastqc
>> | |-- EB_FastQC
> OK, this confirm your easyblock can be found, indeed.
>> But I keep getting the same error. Any other ideas?
> Can we see the full easyconfig file you're using, and maybe also the
> full log file (ideally, from a run where --debug was used)?
>
>
> regards,
>
> Kenneth
>
>> Cheers,
>> Oliver
>>
>>
>> ________________________________________
>> From: [email protected] [[email protected]] on
>> behalf of Kenneth Hoste [[email protected]]
>> Sent: Tuesday, June 09, 2015 1:59 PM
>> To: [email protected]
>> Subject: Re: [easybuild] Setting up own easyblock repository
>>
>> On 09/06/15 13:49, Niek de Klein wrote:
>>> Hello Oliver,
>>>
>>> I'm not part of the EasyBuild team but I think I see what goes wrong.
>>> I think you forgot to add the easyblock name. What is the class name
>>> you used in FastQC.py? For example, if in FastQC.py, under the imports
>>> you have
>>>
>>> class EB_FastQC(EasyBlock):
>>> ...
>>>
>>> You should add
>>>
>>> easyblock = 'EB_FastQC'
>>>
>>> in your FastQC-0.11.3.eb.
>> If no easyblock specification is given, EasyBuild will try to find the
>> easyblock that matches the software name.
>>
>> Assuming the easyconfig file contains "name = 'FastQC' ", EB should be
>> looking for EB_FastQC by itself.
>>
>> The error message shown below only mentions that the automagic fallback
>> to ConfigureMake is no longer there.
>>
>> Oliver: if the information you've provided is complete, you're missing
>> an __init__.py file in the 'easybuild' directory too (that includes the
>> 'extend_path' statement mentioned in the documentation.
>>
>>
>> regards,
>>
>> Kenneth
>>> Hope this helps,
>>> Niek
>>>
>>> On Tue, Jun 9, 2015 at 1:43 PM, Stolpe, Oliver <[email protected]>
>>> wrote:
>>>> Hello Mailinglist,
>>>>
>>>> I wanted to setup my own EasyBlock repository. I followed the instructions
>>>> from
>>>> <https://github.com/hpcugent/easybuild/wiki/Setting-up-your-own-easyblocks-repository>.
>>>> Somehow it ignores my easyblock when I try to execute the config file. Any
>>>> help is appreciated!
>>>>
>>>> Cheers,
>>>> Oliver
>>>>
>>>> This is what I got:
>>>>
>>>> /tools/easybuild.local/easybuild/easyblocks
>>>> /tools/easybuild.local/easybuild/easyblocks/FastQC.py
>>>> /tools/easybuild.local/easybuild/easyblocks/__init__.py
>>>>
>>>> $ echo $PYTHONPATH
>>>> /tools/easybuild/software/EasyBuild/2.1.1/lib/python2.7/site-packages:/tools/easybuild.local
>>>>
>>>> $ head FastQC-0.11.3.eb
>>>> name = 'FastQC'
>>>> version = '0.11.3'
>>>>
>>>> homepage = 'http://www.bioinformatics.babraham.ac.uk/projects/fastqc'
>>>>
>>>> $ eb FastQC-0.11.3.eb
>>>> == temporary log file in case of crash /tmp/eb-hJyLxt/easybuild-NGWQ6S.log
>>>> ERROR: Failed to process easyconfig
>>>> /tools/easybuild.local/easyconfigs/f/FastQC/FastQC-0.11.3.eb: NO LONGER
>>>> SUPPORTED since v2.0: Fallback to default easyblock ConfigureMake (from
>>>> easybuild.easyblocks.generic.configuremake); use "easyblock =
>>>> 'ConfigureMake'" in easyconfig file?; see
>>>> http://easybuild.readthedocs.org/en/latest/Deprecated-functionality.html
>>>> for
>>>> more information
>>>>