Thanks. I saw your [easybuild-framework] merge request already last night. As I commented already there, the new script works fine now on my system even in the presence of the easyblocks symlink
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]<mailto:[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 ------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------

