Hi Kenneth, I have an update. Your question about the $PYTHONPATH triggered me to have a fresh look at things. It turned out that a colleague has build easybuild/2.3.0 and the related module is currently loaded as default. If I unload that the bootstrap (including a fresh curl) succeeds without any issues (I still need to test). So does easybuild dislike older versions when bootstrapping? If so, a switch/check of some sort might be an idea.
Thanks for looking into it. Best wishes Joachim On 16 Nov 2015, at 18:24, Kenneth Hoste <[email protected]<mailto:[email protected]>> wrote: Hi Joachim, Thanks for sending me the debug log (off-list). You've found a bug in the easyblock that is used for installing EasyBuild itself, congratulations! :P What puzzles me is why you're/how hitting this, it just doesn't add up. The log you've sent me clearly mentions that $PYTHONPATH is defined, but then it fails to restore $PYTHONPATH because it grabbed an empty (None) value for it... That just doesn't make sense, I must be missing something. The patch in the easyblock will fix the crash though. I have a fix for the issue, see https://github.com/hpcugent/easybuild-easyblocks/pull/743. However, merging that in isn't going to solve the problem you're running into until there's a new EasyBuild release (since the bootstrap picks up the latest release from PyPI). Do you have $PYTHONPATH defined in the session you're running the bootstrap script in? It shouldn't matter anyway, since the bootstrap script redefines $PYTHONPATH to '' (empty string), I'm not sure what's going on... regards, Kenneth On 16/11/15 16:46, Kenneth Hoste wrote: Hi Joachim, On 16/11/15 16:15, Joachim Hein wrote: Hi, I am new here and facing build issues of the basic easybuild on our soon to be in production cluster. The basic install of easybuild 2.4.0 fails :( Is it ok to discuss those here or should I move that elsewhere? You're in the right place, this is the EasyBuild mailing list after all. :-) Another suitable location would be the EasyBuild framework repository on GitHub (https://github.com/hpcugent/easybuild-framework/issues), but here is fine too. If it is ok, here it goes: The cluster uses centos 7, the kernel is 3.10.0-229.14.1.el7.x86_64 System gcc is: Thread model: posix gcc version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) System python is v 2.7.5. I try to build a sandbox in my own account first before doing a system install. Reading the documentation <http://easybuild.readthedocs.org/en/latest/Installation.html> http://easybuild.readthedocs.org/en/latest/Installation.html, I do export PREFIX=xxx mkdir $PREFIX curl -O <https://raw.githubusercontent.com/hpcugent/easybuild-framework/develop/easybuild/scripts/bootstrap_eb.py> https://raw.githubusercontent.com/hpcugent/easybuild-framework/develop/easybuild/scripts/bootstrap_eb.py python bootstrap_eb.py $PREFIX It fails in stage two of the bootstrap: +++ STAGE 2: installing EasyBuild in /home/hein/EasyBuild_Sandbox/easyTest with EasyBuild from stage 1... == temporary log file in case of crash /tmp/eb-IfcSSS/easybuild-U3eVIy.log == processing EasyBuild easyconfig /tmp/tmpoxDaBd/EasyBuild-2.4.0.eb == building and installing EasyBuild/2.4.0... == fetching files... == creating build dir, resetting environment... == unpacking... == patching... == preparing... == configuring... == building... == testing... == installing... Traceback (most recent call last): File "bootstrap_eb.py", line 666, in <module> main() File "bootstrap_eb.py", line 492, in main stage2(tmpdir, templates, install_path, distribute_egg_dir, sourcepath) File "bootstrap_eb.py", line 430, in stage2 easybuild_main() File "/tmp/tmpoxDaBd/eb_stage1/lib/python2.7/site-packages/easybuild_framework-2.4.0-py2.7.egg/easybuild/main.py", line 331, in main ecs_with_res = build_and_install_software(ordered_ecs, init_session_state, exit_on_failure=exit_on_failure) File "/tmp/tmpoxDaBd/eb_stage1/lib/python2.7/site-packages/easybuild_framework-2.4.0-py2.7.egg/easybuild/main.py", line 145, in build_and_install_software raise EasyBuildError(ec_res['traceback']) easybuild.tools.build_log.EasyBuildError: 'Traceback (most recent call last):\n File "/tmp/tmpoxDaBd/eb_stage1/lib/python2.7/site-packages/easybuild_framework-2.4.0-py2.7.egg/easybuild/main.py", line 112, in build_and_install_software\n (ec_res[\'success\'], app_log, err) = build_and_install_one(ec, init_env)\n File "/tmp/tmpoxDaBd/eb_stage1/lib/python2.7/site-packages/easybuild_framework-2.4.0-py2.7.egg/easybuild/framework/easyblock.py", line 2215, in build_and_install_one\n result = app.run_all_steps(run_test_cases=run_test_cases)\n File "/tmp/tmpoxDaBd/eb_stage1/lib/python2.7/site-packages/easybuild_framework-2.4.0-py2.7.egg/easybuild/framework/easyblock.py", line 2132, in run_all_steps\n self.run_step(step_name, step_methods)\n File "/tmp/tmpoxDaBd/eb_stage1/lib/python2.7/site-packages/easybuild_framework-2.4.0-py2.7.egg/easybuild/framework/easyblock.py", line 2011, in run_step\n step_method(self)()\n File "/tmp/tmpoxDaBd/eb_stage1/lib/python2.7/site-packages/easybuild_easyblocks-2.4.0-py2.7.egg/easybuild/easyblocks/e/easybuildmeta.py", line 98, in install_step\n env.setvar(\'PYTHONPATH\', orig_pythonpath)\n File "/tmp/tmpoxDaBd/eb_stage1/lib/python2.7/site-packages/easybuild_framework-2.4.0-py2.7.egg/easybuild/tools/environment.py", line 95, in setvar\n os.environ[key] = value\n File "/usr/lib64/python2.7/os.py", line 471, in __setitem__\n putenv(key, item)\nTypeError: must be string, not None\n' Is it obvious to you what is wrong here? Any suggestion on what to do? Any more details needed? Can you try two things for me? * redownload the bootstrap script (it just got a small update) and try again * rerun the bootstrap with debugging enabled, by defining the $EASYBUILD_BOOTSTRAP_DEBUG environment variable (the value doesn't really matter) Please send me the output of the bootstrap with debugging enabled (in a file would be nice, it'll be rather long to copy-paste). It looks like there's something weird in your environment, or you're hitting a bug in EasyBuild v2.4.0 that we're not aware of yet. regards, Kenneth

