This problem is fixed now with an update to the bootstrap script, cfr. https://github.com/hpcugent/easybuild-framework/pull/1655 .

Using the updated bootstrap script, you should now be able to bootstrap EasyBuild on a system where setuptools is not available yet.


regards,

Kenneth

On 27/01/16 20:17, Kenneth Hoste wrote:
Hi Danilo,

On 27/01/16 11:06, Danilo Guerrera wrote:
Hello Kenneth,

I installed setuptools on my own. Can I safely skip stage 0 of eb bootstrap now (easy_install comes with setuptools)?

It should be OK, but it doesn't make a big difference.

The reason we're installing our own setuptools in stage 0 is because then we know what we're dealing with.

As long as easy_install is available, the bootstrap should work though, so skipping stage 0 should be OK.


In the mean time, I've figured out what the problem is. It's something in the EasyBuild bootstrap script itself... It wasn't an issue with older versions of vsc-base since setuptools is not required at runtime for those, but if you don't have setuptools system-wide, you get in trouble with a recent vsc-base.

I'm thinking about a fix, not sure yet how to handle it without 'losing control'; but I'll figure something out.
Follow-up in https://github.com/hpcugent/easybuild-framework/issues/1578.


regards,

Kenneth

Danilo




On 26 Jan 2016, at 18:56, Kenneth Hoste <[email protected]> wrote:

Hi Danilo,

On 26/01/16 16:44, Danilo Guerrera wrote:
I was trying to install it and them uploading it at the same time.. Kenneth sent an email while I was posting my one to the list..

Anyway the error is related to the following:

~/test/software/easybuild/software/EasyBuild/2.6.0/lib/python2.7/site-packages/vsc_base-2.4.16-py2.7.egg/vsc/__init__.py", line 29, in <module>
    import pkg_resources
ImportError: No module named pkg_resources

The problem is that the latest version of vsc-base requires setuptools (http://pypi.python.org/pypi/setuptools) at runtime...

I've deliberately refrained from including the most recent version of vsc-base in the EasyBuild easyconfig files that get merged in the easyconfigs repository, because:

i) the 2.2.4 version I'm using there is good enough for EasyBuild (there are no 'important' changes/bugfixes in the more recent version, almost all changes are related to the way vsc-base itself is packaged) i)) the new setuptools requirement can be a pain, and I wanted to look into enhancing the support for installing EasyBuild with EasyBuild to dance around any issues that may pop up (but I didn't get to that yet)

If you're installing EasyBuild through the bootstrap script however, you'll always get the latest version of vsc-base (and EasyBuild), and so you need setuptools available.

I'm not very happy with this extra requirement (because setuptools was written by the devil himself and has caused quite a bit of pain in EasyBuild land already), but in the end it is the only sensible thing to do. EasyBuild itself is going to benefit significantly from requiring setuptools in the end, since the only way to make EasyBuild 'zip-safe' [1] is through setuptools, and that's going to have a major impact in the performance/responsiveness of EasyBuild. In fact, that's only of the major reasons that vsc-base now requires setuptools...

So, short answer for now: make sure you have setuptools available. You can just install it with in a local prefix and adjust $PYTHONPATH accordingly, or install it through the OS (if you have the necessary rights).

I will spend some time on making that significantly easier though in case setuptools is not readily available.

In fact, the vsc-base install should make sure that setuptools is going to be available at runtime, or fail with a clear error if it can't make that happen. The fact that the bootstrap only fails in the *sanity check* step of stage 2 is not OK imho...

Hopefully this helps you forward.



regards,

Kenneth

[1] https://github.com/hpcugent/easybuild-framework/pull/1399



On 26 Jan 2016, at 16:36, Jack Perdue <[email protected]> wrote:


On 01/26/2016 09:29 AM, Danilo Guerrera wrote:
Hello list,

today I was installing Easybuilz on a new machine, clean environment, and it failed with the following error, in the STAGE 2:

+++ STAGE 2: installing EasyBuild in /users/staff/math/maffia/test/software/easybuild with EasyBuild from stage 1...


== temporary log file in case of crash /tmp/eb-qcJVWH/easybuild-f01uZY.log
== processing EasyBuild easyconfig /tmp/tmpRiTVcf/EasyBuild-2.6.0.eb
== building and installing EasyBuild/2.6.0...


Where did you get EasyBuild-2.6.0.eb from?  I'm not seeing
it in the develop branch yet.

jack





Reply via email to