Hi Naveed,
The problem is that EasyBuild and/or the bootstrap script are calling
'python' directly in a couple of places.
We haven't found the time to resolve that yet...
You seem to be hitting the same problems as we see when Python 3.x is
the default system Python, cfr.
https://github.com/hpcugent/easybuild-framework/issues/1532 .
Can you try this for me, see if it helps?
Create a symlink to 'python26' named 'python', and put the location in
which the symlink lives first in $PATH, like this:
mkdir /tmp/$USER/eb_test
cd /tmp/$USER/eb_test
ln -s `which python26` python
export PATH=/tmp/$USER/eb_test:$PATH
which python # sanity check
And then cd to wherever and retry the bootstrap procedure.
Let us know whether this helps at all.
regards,
Kenneth
On 05/02/16 20:13, Near-Ansari, Naveed wrote:
I am trying to install easybuild using a non system default version of python.
I call the bootstrap script directly from the version i would like to use, but
it gives some errors during the sanity check. What is the proper way to install
it using a different python install. I have a few different python
installations on the system and had the same issue with each.
[naveed@compute-1-1 ~]$ type module
module is a function
module ()
{
eval `/usr/bin/modulecmd bash $*`
}
[naveed@compute-1-1 ~]$ type -f module
-bash: type: module: not found
[naveed@compute-1-1 ~]$ module --version
VERSION=3.2.10
DATE=2012-12-21
AUTOLOADPATH=undef
BASEPREFIX="/usr/share"
BEGINENV=99
CACHE_AVAIL=undef
DEF_COLLATE_BY_NUMBER=undef
DOT_EXT=""
EVAL_ALIAS=1
HAS_BOURNE_FUNCS=1
HAS_BOURNE_ALIAS=1
HAS_TCLXLIBS=undef
HAS_X11LIBS=1
LMSPLIT_SIZE=undef
MODULEPATH="/share/apps/modules/modulefiles"
MODULES_INIT_DIR="/usr/share/Modules/init"
PREFIX="/usr/share/Modules"
TCL_VERSION="8.4"
TCL_PATCH_LEVEL="8.4.13"
TMP_DIR="/tmp"
USE_FREE=undef
VERSION_MAGIC=1
VERSIONPATH=undef
WANTS_VERSIONING=0
WITH_DEBUG_INFO=undef
[naveed@compute-1-1 ~]$ python26 bootstrap_eb.py $PREFIX
[[INFO]] Installation prefix /share/apps/software/easybuild
[[INFO]] Found module command 'modulecmd' (EnvironmentModulesC), so using it.
[[INFO]]
+++ STAGE 0: installing distribute via included (patched) distribute_setup.py...
Downloading
http://hpcugent.github.io/easybuild/files/distribute-0.6.49-patched1.tar.gz
Extracting in /tmp/tmpZ9PU4A
Now working in /tmp/tmpZ9PU4A/distribute-0.6.49
Installing Distribute
[[INFO]]
+++ STAGE 1: installing EasyBuild in temporary dir with easy_install...
[[INFO]] installing EasyBuild with 'easy_install --quiet --upgrade
--prefix=/tmp/tmps8T4M7/eb_stage1 easybuild'
Installing with setuptools.setup...
Installing version 2.6.0
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.6.0 (API version 2)
Installing with setuptools.setup...
Installing version 2.6.0 (required versions: API >= 2)
Installing with setuptools.setup...
Installing version 2.6.0 (required versions: API >= 2, easyblocks >= 2.6)
warning: install_lib: 'build/lib' does not exist -- no Python modules to install
INFO: This is (based on) vsc.install.shared_setup 0.9.13
INFO: run_tests from base dir /tmp/easy_install-J59IOq/vsc-base-2.4.16 (using
executable /tmp/easy_install-J59IOq/vsc-base-2.4.16/setup.py)
WARN: cleanup lib/vsc_base.egg-info
INFO: removing 'lib/vsc_base.egg-info' (and everything under it)
INFO: generated list: ['vsc', 'vsc.utils']
INFO: generated packages list: ['vsc', 'vsc.utils']
INFO: makesetupcfg set to True, (re)creating setup.cfg
INFO: found license /tmp/easy_install-J59IOq/vsc-base-2.4.16/LICENSE with
md5sum 5f30f0716dfdd0d91eb439ebec522ec2
INFO: Found license name LGPLv2+ and classifier License :: OSI Approved :: GNU
Lesser General Public License v2 or later (LGPLv2+)
INFO: setting license LGPLv2+
INFO: No name defined, trying to determine it
INFO: found match url https://github.com/hpcugent/vsc-base in
/tmp/easy_install-J59IOq/vsc-base-2.4.16/PKG-INFO
INFO: found match name vsc-base in
/tmp/easy_install-J59IOq/vsc-base-2.4.16/PKG-INFO
INFO: Removing None download_url
INFO: get_name_url returns {'url': 'https://github.com/hpcugent/vsc-base',
'name': 'vsc-base'}
INFO: using long_description Common tools used within our organization.
Originally created by the HPC team of Ghent University (http://ugent.be/hpc).
INFO: generated list: ['bin/optcomplete.bash', 'bin/logdaemon.py',
'bin/startlogdaemon.sh', 'bin/bdist_rpm.sh']
INFO: generated scripts list: ['bin/optcomplete.bash', 'bin/logdaemon.py',
'bin/startlogdaemon.sh', 'bin/bdist_rpm.sh']
INFO: Checking .pth file support in .
INFO: /usr/bin/python26 -E -c pass
INFO: Searching for vsc-install>=0.9.8
INFO: Reading http://pypi.python.org/simple/vsc-install/
INFO: Best match: vsc-install 0.9.12
INFO: Downloading
https://pypi.python.org/packages/source/v/vsc-install/vsc-install-0.9.12.tar.gz#md5=ff9e84e6f9c766f2d6f6e2307f80c5c6
INFO: Processing vsc-install-0.9.12.tar.gz
INFO: Writing
/tmp/easy_install-J59IOq/vsc-base-2.4.16/temp/easy_install-oGNbJT/vsc-install-0.9.12/setup.cfg
INFO: Running vsc-install-0.9.12/setup.py -q bdist_egg --dist-dir
/tmp/easy_install-J59IOq/vsc-base-2.4.16/temp/easy_install-oGNbJT/vsc-install-0.9.12/egg-dist-tmp-9q7F0A
INFO: This is (based on) vsc.install.shared_setup 0.9.12
INFO: run_tests from base dir
/tmp/easy_install-J59IOq/vsc-base-2.4.16/temp/easy_install-oGNbJT/vsc-install-0.9.12
(using executable
/tmp/easy_install-J59IOq/vsc-base-2.4.16/temp/easy_install-oGNbJT/vsc-install-0.9.12/setup.py)
WARN: cleanup lib/vsc_install.egg-info
INFO: removing 'lib/vsc_install.egg-info' (and everything under it)
INFO: generated list: ['vsc.install', 'vsc']
INFO: generated packages list: ['vsc.install', 'vsc']
INFO: makesetupcfg set to True, (re)creating setup.cfg
INFO: found license
/tmp/easy_install-J59IOq/vsc-base-2.4.16/temp/easy_install-oGNbJT/vsc-install-0.9.12/LICENSE
with md5sum 5f30f0716dfdd0d91eb439ebec522ec2
INFO: Found license name LGPLv2+ and classifier License :: OSI Approved :: GNU
Lesser General Public License v2 or later (LGPLv2+)
INFO: setting license LGPLv2+
INFO: No name defined, trying to determine it
INFO: found match url https://github.com/hpcugent/vsc-install in
/tmp/easy_install-J59IOq/vsc-base-2.4.16/temp/easy_install-oGNbJT/vsc-install-0.9.12/PKG-INFO
INFO: found match name vsc-install in
/tmp/easy_install-J59IOq/vsc-base-2.4.16/temp/easy_install-oGNbJT/vsc-install-0.9.12/PKG-INFO
INFO: Removing None download_url
INFO: get_name_url returns {'url': 'https://github.com/hpcugent/vsc-install',
'name': 'vsc-install'}
INFO: using long_description vsc-install provides shared setuptools functions
and classes for python libraries developed by UGent's HPC group
INFO: generated list: []
INFO: generated scripts list: []
WARN: zip_safe flag not set; analyzing archive contents...
WARN: vsc.fancylogger: module references file
WARN: vsc.install.shared_setup: module references file
WARN: vsc.install.shared_setup: module references path
WARN: vsc.install.shared_setup: module MAY be using inspect.getsource
INFO:
Installed /tmp/easy_install-J59IOq/vsc-base-2.4.16/vsc_install-0.9.12-py2.6.egg
WARN: zip_safe flag not set; analyzing archive contents...
WARN: vsc.utils.exceptions: module MAY be using inspect.getouterframes
WARN: vsc.utils.generaloption: module MAY be using inspect.stack
WARN: vsc.utils.fancylogger: module MAY be using inspect.stack
WARN: cleanup lib/vsc_install.egg-info
WARN: zip_safe flag not set; analyzing archive contents...
WARN: vsc.fancylogger: module references file
WARN: vsc.install.shared_setup: module references file
WARN: vsc.install.shared_setup: module references path
WARN: vsc.install.shared_setup: module MAY be using inspect.getsource
[[INFO]]
+++ STAGE 2: installing EasyBuild in /share/apps/software/easybuild with
EasyBuild from stage 1...
== temporary log file in case of crash /tmp/eb-4UnEdo/easybuild-IqOSBj.log
== processing EasyBuild easyconfig /tmp/tmps8T4M7/EasyBuild-2.6.0.eb
== building and installing EasyBuild/2.6.0...
== fetching files...
== creating build dir, resetting environment...
== unpacking...
== patching...
== preparing...
== configuring...
== building...
== testing...
== installing...
== taking care of extensions...
== postprocessing...
== sanity checking...
== FAILED: Installation ended unsuccessfully (build directory:
/tmp/tmps8T4M7/EasyBuild/2.6.0/dummy-dummy): build failed (first 300 chars):
Sanity check failed: no (non-empty) directory of
('lib/python2.6/site-packages', 'lib64/python2.6/site-packages') in
/share/apps/software/easybuild/software/EasyBuild/2.6.0, sanity check command
eb --version exited with code 3 (output: ERROR: EasyBuild requires Python v2.6
or a more recent v2.x, fou
== Results of the build can be found in the log file
/tmp/eb-4UnEdo/easybuild-EasyBuild-2.6.0-20160204.083827.xiZLc.log
Traceback (most recent call last):
File "bootstrap_eb.py", line 727, in
main()
File "bootstrap_eb.py", line 537, in main
stage2(tmpdir, templates, install_path, distribute_egg_dir, sourcepath)
File "bootstrap_eb.py", line 455, in stage2
easybuild_main()
File
"/tmp/tmps8T4M7/eb_stage1/lib/python2.6/site-packages/easybuild_framework-2.6.0-py2.6.egg/easybuild/main.py",
line 350, in main
ecs_with_res = build_and_install_software(ordered_ecs, init_session_state,
exit_on_failure=exit_on_failure)
File
"/tmp/tmps8T4M7/eb_stage1/lib/python2.6/site-packages/easybuild_framework-2.6.0-py2.6.egg/easybuild/main.py",
line 148, in build_and_install_software
raise EasyBuildError(test_msg)
easybuild.tools.build_log.EasyBuildError: 'Build of /tmp/tmps8T4M7/EasyBuild-2.6.0.eb
failed (err: "build failed (first 300 chars): Sanity check failed: no (non-empty)
directory of (\'lib/python2.6/site-packages\', \'lib64/python2.6/site-packages\') in
/share/apps/software/easybuild/software/EasyBuild/2.6.0, sanity check command eb
--version exited with code 3 (output: ERROR: EasyBuild requires Python v2.6 or a more
recent v2.x, fou")'