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


Reply via email to