Hi Kenneth,

Kenneth Hoste <[email protected]> writes:

> Dear Loris,
>
> On 02/04/2019 17:04, Loris Bennett wrote:
>> Dear Kenneth,
>>
>> OK, thanks for clarifying that point.
>>
>> One thing that surprised me in the context of trying to create a
>> extension-only easyconfig was that, if I forget to include the primary
>> program, such as Python 2.7.15, as a dependency, then the primary
>> program itself, e.g. Python, will be installed as well as the
>> extensions.  This only made itself apparent to me when I loaded the
>> extensions module and found that the primary program module was then,
>> due to the conflict, automatically unloaded.
>
> EasyBuild is not doing that automatically trying to be smart of something,
> you're somehow telling it to do that...
>
>>  Or is this only the case
>> if I also (!) mistakenly have
>>
>>    source_urls = ['http://www.python.org/ftp/%(namelower)s/%(version)s/']
>>    sources = [SOURCE_TGZ]
>
> That's likely the reason, but then you should still be using 'Python' as a
> software name, otherwise you shouldn't see the behavior you're describing.
>
> Easyconfigs using the 'Bundle' easyblock should not specify any top-level
> 'sources'.
> We even prevent this in the central easyconfigs repository (the tests will 
> trip
> over it), but it's not hard blocked in EasyBuild itself, so if you want to 
> shoot
> yourself in the foot, you can. ;)

OK, I have removed the 'sources', but am still now hitting a different
foot.

The Python packages seem to be installed OK, but the sanity check fails
for two modules.  However, if I load the corresponding Python version
and set PYTHONPATH by hand, I can import the modules which cause the
failure of the sanity check:

  $ module add Python/2.7.15-foss-2018b 
  $ export 
PYTHONPATH=/trinity/shared/easybuild/software/Python/2.7.15-foss-2018b-zedat_extras/lib/python2.7/site-packages/
  $ python
  Python 2.7.15 (default, Jan 18 2019, 10:12:12) 
  [GCC 7.3.0] on linux2
  Type "help", "copyright", "credits" or "license" for more information.
  >>> import dill
  >>> import nonconformist

In the log from the build I have

  == 2019-04-04 10:43:44,756 build_log.py:162 ERROR EasyBuild crashed with an 
error (at 
easybuild/software/EasyBuild/3.8.1/lib/python2.7/site-packages/vsc_base-2.8.3-py2.7.egg/vsc/utils/exceptions.py:124
 in __init__): Sanity check failed: extensions sanity check failed for 2 
extensions: dill, nonconformist
  failing sanity check for 'dill' extension: command 
"/trinity/shared/easybuild/software/Python/2.7.15-foss-2018b/bin/python -c 
"import dill"" failed; output:
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
  ImportError: No module named dill, 
  failing sanity check for 'nonconformist' extension: command 
"/trinity/shared/easybuild/software/Python/2.7.15-foss-2018b/bin/python -c 
"import nonconformist"" failed; output:
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
  ImportError: No module named nonconformist,  (at 
easybuild/software/EasyBuild/3.8.1/lib/python2.7/site-packages/easybuild_framework-3.8.1-py2.7.egg/easybuild/framework/easyblock.py:2369
 in _sanity_check_step)
  == 2019-04-04 10:43:44,756 easyblock.py:2870 WARNING build failed (first 300 
chars): Sanity check failed: extensions sanity check failed for 2 extensions: 
dill, nonconformist
  failing sanity check for 'dill' extension: command 
"/trinity/shared/easybuild/software/Python/2.7.15-foss-2018b/bin/python -c 
"import dill"" failed; output:
  Traceback (most recent call last):
    File "<string>",

The package directory looks like this:

  $ ll 
/trinity/shared/easybuild/software/Python/2.7.15-foss-2018b-zedat_extras/lib/python2.7/site-packages/
  total 1024
  drwxr-xr-x  4 build staff      46 Apr  4 10:15 dill-0.2.9-py2.7.egg
  -rw-r--r--  1 build staff     592 Apr  4 10:43 easy-install.pth
  drwxr-xr-x  2 build staff     291 Apr  4 10:16 nonconformist
  -rw-r--r--  1 build staff     829 Apr  4 10:16 
nonconformist-2.1.0-py2.7.egg-info
  drwxr-xr-x  4 build staff      47 Apr  4 10:19 
numpy-1.14.5-py2.7-linux-x86_64.egg
  drwxr-xr-x  4 build staff      48 Apr  4 10:43 
pandas-0.24.2-py2.7-linux-x86_64.egg
  -rw-r--r--  1 build staff    8246 Apr  4 10:35 
scikit_learn-0.19.1-py2.7.egg-info
  drwxr-xr-x  4 build staff      47 Apr  4 10:32 
scipy-1.1.0-py2.7-linux-x86_64.egg
  -rw-r--r--  1 build staff 1011322 Apr  4 10:16 setuptools-39.1.0-py2.7.egg
  -rw-r--r--  1 build staff      30 Apr  4 10:16 setuptools.pth
  -rw-r--r--  1 build staff    2307 Apr  4 10:15 site.py
  -rw-r--r--  1 build staff    1841 Apr  4 10:15 site.pyc
  drwxr-xr-x 27 build staff    4096 Apr  4 10:35 sklearn

Any ideas what I am doing wrong this time?

Cheers,

Loris

-- 
Dr. Loris Bennett (Mr.)
ZEDAT, Freie Universität Berlin         Email [email protected]

Reply via email to