Hi Franky,
On 31/01/14 11:19, Backeljauw Franky wrote:
Hello,
I have successfully installed VTune using VTune-2013_update10.eb, but
when I try with VTune-2013_update15.eb (which is the same as the
previous eb-file with “update10” replaced by “update15”), then I get
this error in the end:
$> eb VTune-2013_update15.eb
...
== sanity checking...
ERROR: EasyBuild encountered an exception (at
easybuild/tools/build_log.py:69 in caller_info): autoBuild Failed
(last 300 chars): uild crashed with an error (at
easybuild/tools/build_log.py:69 in caller_info): Sanity check
failed: no file of ('bin64/amplxe-runss',)
in PATH/software/VTune/2013_update15, no file of
('bin64/amplxe-cl',) in PATH/software/VTune/2013_update15
Looking at the installation directory, we have
$> tree -L 1
.
|-- 2013_update10
|-- 2013_update15
| |-- vtune_amplifier_xe
-> PATH/VTune/2013_update15/vtune_amplifier_xe_2013
| `-- vtune_amplifier_xe_2013
`-- vtune_amplifier_xe ->
/apps/antwerpen/turing/harpertown/software/VTune/2013_update10
For “update10” it creates the directory vtune_amplifier_xe straight in
the top-directory VTune, while for “update15” it creates this in the
subdirectory VTune/2013_update15. I don’t see anything regarding this
directory structure inside the eb-files themselves, so I guess this
must be handled somewhere in the accompanying easyblock-file
(easybuild/easyblocks/v/vtune.py)...
What needs to be done for this to install properly? And would it be
possible to install multiple versions (given that currently
VTune/vtune_amplifier_xe links to the “update10”-version)?
Urgh, this mess again...
We ran into similar problems with Intel MPI, where the install script
was suddenly creating it's own subdirectories in the specified install
prefix, and than later reverted back to the 'proper' approach of
directly using the provided installation prefix.
VTune succeeds in doing something worse, it seems...
The fact that the vtune_amplifier_xe symlink is created in the top-level
VTune install dir is *bad*, and it shouldn't happen. It seems like the
VTune install script is installing stuff in <install_prefix>/.. (i.e.
the parent of the specified install prefix), which makes me want to kick
it in the face with spiked booths...
The only way to fix this is via the VTune easyblock, i.e. by cleaning up
anything that the VTune install script does outside of the specified
install prefix (hopefully only the symlink)...
We also need to update the easyblock (the module creating methods, the
sanity check, ...) for newer VTune versions, since now it's suddenly
installing stuff in a deeper subdir instead of directly in the specified
prefix. Though I guess that's better than fiddling in the parent of the
install prefix...
Franky: please open an issue for all this in the easybuild-easyblocks
repository (via
https://github.com/hpcugent/easybuild-easyblocks/issues/new), and we'll
try on look into this. If you're up for it: please try to fix this
yourself (let me know if you need help).
This is (yet) another example of why it makes a lot of sense to have the
sanity check in place: without it, we would only have noticed that
everything is one level deeper when trying to use the installed VTune
module, since it wouldn't include any $PATH manipulations, and thus the
VTune binaries wouldn't be accessible after loading the module...
regards,
Kenneth