easybuild-easyblocks
easybuild-easyblocks copied to clipboard
installation error was not reported properly for impi/impi-4.0.0.028*
Hi,
this is minor issue, don't be alarmed.
Introduction:
The default license we have now is obtained via a 3-year Intel Cluster XE subscription purchased recently (Nov.12) which is supposed to cover previous versions, too; Alas (as per internal issue #691555 of Intel's support site) there is an incompatibility with impi-4.0.0.028 and we need to be provided a special (secondary) license file to overcome this technical limitation. Yes, that's a bugfix licensefile!
Unfortunately, the issue is masked and not reported at the right time. Preferably, easybuild should report this issue during the install step, rather than sanity checking.
As you can see below, the real culprit is indeed the flexlm licensing issue:
sw@gaia-64:~$ time eb /home/users/sw/CFGS/i/impi/impi-4.0.0.028*.eb
== resolving dependencies ...
== processing EasyBuild easyconfig /home/users/sw/CFGS/i/impi/impi-4.0.0.028-32bit.eb
== building and installing impi-4.0.0.028-32bit...
== fetching files...
== getting ready, creating build dir, resetting environment...
== unpacking...
== patching...
== preparing...
== configuring...
== building...
== testing...
== installing...
== taking care of extensions...
== packaging...
== postprocessing...
== sanity checking...
Traceback (most recent call last):
File "/opt/apps/default/software/easybuild/1.1.0dev/easybuild-framework/easybuild/main.py", line 1552, in <module>
main(options, orig_paths, log, logfile, hn, parser)
File "/opt/apps/default/software/easybuild/1.1.0dev/easybuild-framework/easybuild/main.py", line 525, in main
(success, _) = build_and_install_software(spec, options, log, origEnviron)
File "/opt/apps/default/software/easybuild/1.1.0dev/easybuild-framework/easybuild/main.py", line 1009, in build_and_install_software
regtest_online=options.regtest_online)
File "/opt/apps/default/software/easybuild/1.1.0dev/easybuild-framework/easybuild/framework/easyblock.py", line 1595, in run_all_steps
self.run_step(stop_name, step_methods, skippable=skippable)
File "/opt/apps/default/software/easybuild/1.1.0dev/easybuild-framework/easybuild/framework/easyblock.py", line 1533, in run_step
m(self)
File "/opt/apps/default/software/easybuild/1.1.0dev/easybuild-framework/easybuild/framework/easyblock.py", line 1566, in <lambda>
('sanitycheck', 'sanity checking', [lambda x: x.sanity_check_step()], False),
File "/opt/apps/default/software/easybuild/1.1.0dev/easybuild-easyblocks/easybuild/easyblocks/i/impi.py", line 116, in sanity_check_step
super(EB_impi, self).sanity_check_step(custom_paths=custom_paths)
File "/opt/apps/default/software/easybuild/1.1.0dev/easybuild-framework/easybuild/framework/easyblock.py", line 1397, in sanity_check_step
os.chdir(self.installdir)
OSError: [Errno 2] No such file or directory: '/home/users/sw/easybuild.20130126/software/impi/4.0.0.028-32bit'
Command exited with non-zero status 1
2.10user 0.60system 0:04.89elapsed 55%CPU (0avgtext+0avgdata 70224maxresident)k
0inputs+277112outputs (0major+73725minor)pagefaults 0swaps
real 0m4.900s
user 0m2.100s
sys 0m0.604s
sw@gaia-64:~$
sw@gaia-64:~$ time eb /home/users/sw/CFGS/i/impi/impi-4.0.0.028*eb -ld 2>&1|grep -10 -i flexlm
== 2013-01-27 17:16:10,303 main.EB_impi INFO installing...
== installing...
== 2013-01-27 17:16:10,304 main.EB_impi INFO Starting install step
== 2013-01-27 17:16:10,304 main.EB_impi INFO Running method stage_install_step part of step install
== 2013-01-27 17:16:10,304 main.EB_impi INFO Running method make_installdir part of step install
== 2013-01-27 17:16:10,304 main.EB_impi DEBUG Creating the installation directory /home/users/sw/easybuild.20130126/software/impi/4.0.0.028-32bit (cleanup: True)
== 2013-01-27 17:16:10,304 main.EB_impi INFO Cleaning only, no actual creation of /home/users/sw/easybuild.20130126/software/impi/4.0.0.028-32bit, only verification/creation of dirname /home/users/sw/easybuild.20130126/software/impi
== 2013-01-27 17:16:10,305 main.EB_impi INFO Running method install_step part of step install
== 2013-01-27 17:16:10,305 main.fileTools DEBUG run_cmd: running cmd ./install.sh --tmp-dir=/tmp/impi/4.0.0.028/dummy-dummy-32bit/l_mpi_pu_4.0.0.028/4.0.0.028/mytmpdir --silent=/tmp/impi/4.0.0.028/dummy-dummy-32bit/l_mpi_pu_4.0.0.028/silent.cfg (in /tmp/impi/4.0.0.028/dummy-dummy-32bit/l_mpi_pu_4.0.0.028)
== 2013-01-27 17:16:11,470 main.fileTools INFO cmd "./install.sh --tmp-dir=/tmp/impi/4.0.0.028/dummy-dummy-32bit/l_mpi_pu_4.0.0.028/4.0.0.028/mytmpdir --silent=/tmp/impi/4.0.0.028/dummy-dummy-32bit/l_mpi_pu_4.0.0.028/silent.cfg" exited with exitcode 0 and output:
No valid FLEXlm license keys were found for this product.
To get FLEXlm license please contact the Intel(R) support team at https://registrationcenter.intel.com/support.
Exiting...
== 2013-01-27 17:16:11,471 main.fileTools DEBUG Using default regular expression: (?<![(,]|\w)(?:error|segmentation fault|failed)(?![(,]|\.?\w)
== 2013-01-27 17:16:11,471 main.EB_impi INFO taking care of extensions...
== taking care of extensions...
== 2013-01-27 17:16:11,471 main.EB_impi INFO Starting extensions step
== 2013-01-27 17:16:11,471 main.EB_impi INFO Running method extensions_step part of step extensions
== 2013-01-27 17:16:11,472 main.EB_impi DEBUG No extensions in exts_list
== 2013-01-27 17:16:11,472 main.EB_impi INFO packaging...
== packaging...
real 0m4.959s
user 0m2.196s
sys 0m0.552s
sw@gaia-64:~$
ps. I send this mostly in the hope that others will not have to duplicate the debugging effort and also to eventually phase out this version in favor of newer ones
even if you have an account with Intel, you won't be able to read the relevant issues (nor nearby related ones 691558 & 692140)
I copy here verbatim the response as coming from their support team:
The problem is that the older versions of the Intel® MPI Library used a different code for license verification.
So, you really need to get a secondary 3yr license for your flexlm and merge it with the original one from Intel, this is the workaround from the formal support channels.
Another related issue, just in case:
If you hear other people stumbling on tarballs for 11.1.073, the only "proper" salvation is to contact Intel via their support website and ask for the files - you won't find them elsewhere; this is unfortunate because these tarballs are part of the dependency chain for ictce/3.2.2 toolchain and many other builds. Another possible way to go around this last one is via a nasty hack, to symlink l_cproc_p_11.1.073.tgz -> l_cproc_p_11.1.080.tgz, which you can find. :-(
@fgeorgatos: ping on this?
@boegel: pong?
@fgeorgatos I propose we close this issue... The traceback issue shouldn't occur anymore now.
Unfortunately, detecting an installation problem in install_step is not so trivial for the Intel installers, since they exit with 0 regardless of whether the installation worked or not. In that case, the sanity check is our fallback mechanism; in fact, it was the very reason it was introduced...
I think the feature request on this one would be something like:
- grep installation output for
No valid FLEXlm license keys were found for this product.and bail out if so
IMHO, some other package might eventually have the same need; I'm not fanatic about it, yet I'd keep it