Hi Joachim,
On 17/11/15 14:42, Joachim Hein wrote:
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 the update, I'll try and figure out what is going on exactly...
The bootstrap script should protect you from whatever environment you're
in, apparently that's not working as expected.
Follow-up via https://github.com/hpcugent/easybuild-framework/issues/1485.
regards,
Kenneth
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, 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