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, I do

export PREFIX=xxx
mkdir $PREFIX
curl -O 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

Reply via email to