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

Reply via email to