Hi Bernd,
On 27/05/15 10:43, Mohr, Bernd wrote:
Thanks. I saw your [easybuild-framework] merge request already last night.
That's impressive, since I only opened the PR this morning. ;-)
Timezone confusion, I guess...
As I commented already there, the new script works fine now on my
system even in the presence
of the easyblocks symlink
Thanks for confirming the fix, PR has just been merged!
regards,
Kenneth
Thanks
Bernd
*From:* Kenneth Hoste <mailto:[email protected]>
*Sent:* Wednesday, 27 May, 2015 10:08
*To:* EasyBuild <mailto:[email protected]>
Hi Bernd,
I was able to reproduce your problem, quite easily in fact, by simply
putting a symlink in my home directory like you have. Interesting!
I also found the cause of the problem, and have a fixed bootstrap script.
The problem was that the setup.py installation script for
easybuild-easyblocks imports directly from the 'easyblocks' namespace
(rather than from 'easybuild.easyblocks') to determine its own version:
import sys
...
sys.path.append('easybuild')
from easyblocks import VERSION
The current directory is automagically prepend to the Python search
path (sys.path), which explains why you were seeing v2.1.0 being
picked up when running the bootstrap script from your home directory.
The fix is pretty trivial: make sure that any directories that provide
the 'easyblocks' namespace are excluded from the Python search path
before the bootstrap is started; the required logic was already there
for the 'easybuild' and 'vsc' namespaces.
PR to fix this is at
https://github.com/hpcugent/easybuild-framework/pull/1289 .
It also fixes another problem I ran into when retesting the bootstrap
script, related to the $EASYBUILD_BOOTSTRAP* environment variables
that are picked up by it.
regards,
Kenneth
On 26/05/15 21:32, Mohr, Bernd wrote:
I also tried it with and without setting PYTHONPATH to "", no
difference
Bernd
------------------------------------------------------------------------
Von: Kenneth Hoste
Gesendet: 26.05.2015 20:13
An: [email protected]
Betreff: Re: [easybuild] [ANN] EasyBuild v2.1.1
On 26/05/15 17:46, Mohr, Bernd wrote:
Yes, I can reproduce the issue.
See attached typescript
Is this $HOME/easyblocks path used in your environment somehow?
$PYTHONPATH maybe?
This is very weird... :-)
K.
Bernd
Sent from Windows Mail
*From:* Kenneth Hoste <mailto:[email protected]>
*Sent:* Tuesday, 26 May, 2015 16:18
*To:* EasyBuild <mailto:[email protected]>
Hi Bernd,
On 26/05/15 12:29, Mohr, Bernd wrote:
Kenneth,
by accident, I found the cause for the failure
In my home directory I had created a symbolic link
easyblocks →
/opt/local/easybuild-2.1/software/Core/EasyBuild/2.1.0/lib/python2.7/site-packages/easybuild_easyblocks-2.1.0-py2.7.egg/easybuild/easyblocks/
to be able to quicker access the code. Of course, I was
running the bootstrap script
from my home directory 😉
All fine now.
As far as I can tell, having a symlink like that present
shouldn't impact the bootstrap procedure at all...
Is that the only thing you changed? And can you reproduce the
problem now if you put the symlink back in place (to the 2.1.0
directory)?
regards,
Kenneth
Thanks
Bernd
*From:* Kenneth Hoste <mailto:[email protected]>
*Sent:* Tuesday, 26 May, 2015 11:42
*To:* EasyBuild <mailto:[email protected]>
Hi Bernd,
On 26/05/15 11:32, Mohr, Bernd wrote:
Dear EasyBuild team,
I tried to bootstrap v.2.1.1 (method (i)), but get the
following error:
**********************************************************************************************************************
carbon-vm:~ [103] ./bootstrap_eb.py
--prefix=/opt/local/easybuild-2.1.1
Don't use --prefix here, just specify the install prefix
to bootstrap EasyBuild into directly:
$ ./bootstrap_eb.py /opt/local/easybuild-2.1.1
This is not the cause of the problem however, since this
only applies to stage 2 of the bootstrap...
[[INFO]] Found module command 'lmod' (Lmod), so using it.
[[INFO]]
+++ STAGE 0: installing distribute via included
(patched) distribute_setup.py...
Downloading
http://pypi.python.org/packages/source/d/distribute/distribute-0.6.34.tar.gz
Extracting in /tmp/tmp8TWdBC
Now working in /tmp/tmp8TWdBC/distribute-0.6.34
Installing Distribute
[[INFO]]
+++ STAGE 1: installing EasyBuild in temporary dir
with easy_install...
[[INFO]] installing EasyBuild with 'easy_install
--quiet --upgrade --prefix=/tmp/tmpvL8XTk/eb_stage1
easybuild'
Installing with setuptools.setup...
Installing version 2.1.1
warning: install_lib: 'build/lib' does not exist -- no
Python modules to install
zip_safe flag not set; analyzing archive contents...
Installing with setuptools.setup...
Installing version 2.1.1 (API version 2)
Installing with setuptools.setup...
Installing version 2.1.0 (required versions: API >= 2)
error: Could not find required distribution
easybuild-easyblocks==2.1.1
For some reason, easy_install is deciding to go with
easybuild-easyblocks v2.1.0, only to then complain that it
can't find v2.1.1 ...
I've just retried myself, I can't reproduce this problem;
bootstrap is working fine for me (just like it did when I
tested this after the release).
Can you provide debug output by defining
$EASYBUILD_BOOTSTRAP_DEBUG to something, e.g. "export
EASYBUILD_BOOTSTRAP_DEBUG=1" ?
Maybe also share what you have in
$HOME/.local/lib/python2.*/site-packages, if anything.
regards,
Kenneth
**********************************************************************************************************************
Any idea what is wrong?
Bernd
*From:* Kenneth Hoste <mailto:[email protected]>
*Sent:* Monday, 18 May, 2015 19:20
*To:* EasyBuild <mailto:[email protected]>
Hello EasyBuilders,
I'm happy to announce the release of EasyBuild v2.1.1,
which is the best
release so far, no doubt about it. (*)
This is a bugfix release, mainly motivated by some
issues with the
--module-only command line option that was introduced
in EasyBuild
v2.1.0: modules generated via --module-only in
combination with --force
were missing 'module load' statements for
dependencies, and several
easyblocks turned out to be incompatible with
--module-only.
These problems have been resolved, and the unit tests
were enhanced to
try and make sure easyblocks remain compatible with
--module-only.
Other changes include support for supplying regular
expression patterns
to --search (and only considering the easyconfig
filename, rather than
the entire path, see [2]), support for builing and
installing GROMACS
v5.x, adding several new toolchain versions
(ictce/7.3.5 and Cray*), and
support for installing 3 new software packages.
A detailed overview of all changes is available in the
EasyBuild release
notes [3].
To upgrade to EasyBuild v2.1.1, there are several options:
(i) (re)bootstrap EasyBuild to obtain an
EasyBuild/2.1.1 module to
load [4]
(ii) install EasyBuild v2.1.1 with a previous
version of EasyBuild,
using the easyconfig file available in [5]
note: make sure you're using https PyPI
source URLs in case
you're using an easyconfig file obtained via some
other way, cfr. [6]
(iii) install EasyBuild v2.1.1 from PyPI, using
one of the standard
Python installation tools (easy_install, pip, ...) [7]
(iv) updating your Git working copies of the
different EasyBuild
repositories
Enjoy!
regards,
Kenneth
EasyBuild release manager
[1] https://pypi.python.org/pypi/easybuild
[2]
https://easybuild.readthedocs.org/en/latest/Using_the_EasyBuild_command_line.html#searching-for-easyconfigs
[3]
https://easybuild.readthedocs.org/en/latest/Release_notes.html
[4]
https://easybuild.readthedocs.org/en/latest/Installation.html#bootstrapping-easybuild
[5]
https://github.com/hpcugent/easybuild-easyconfigs/pull/1615
[6]
https://github.com/hpcugent/easybuild-framework/pull/1286
[7]
https://easybuild.readthedocs.org/en/latest/Installation_Alternative.html#standard-installation-of-latest-release
(*): I'm aware I stated the same about EasyBuild
v2.1.0, but this was a
valid statement at the time.
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------
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
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------