Hi Tin,

On 01/10/15 02:32, tin h wrote:
Hello EasyBuild gurus,

Because of the workflow at my work, I am trying to install a program using PackedBinary.

eb fails, as it complains that the sanity check files i told it to look for isn't there. And it is not there because it created an extra "version"directory underneath of where I expected it.

I was thinking of using install_cmd and running the tar myself, since i wanted to preserve owners anyway. but I am not sure of what variables i could use, where can I find such list and their description?

I am open to other suggestions :)

I think this is what you're looking for:

    $ eb -a | grep unpack_options
unpack_options Extra options for unpacking source [default: ""]

That is, use something like:

    unpack_options = '--strip-components=1'

Alternatively, you can specify the full extract command together with the source file:

sources = [('topspin.%(version)s.tgz', "tar xfzp --strip-components=1")]

To figure out which easyconfig parameters you can set when using a particular easyblock, you can use "eb -a -e PackedBinary", for example. We're working on better documentation for the generic easyblocks (generated from the easyblocks themselves, so we can easily keep it up-to-date).


regards,

Kenneth


Much thanks in advance!
Tin



Here is my script:



easyblock = 'PackedBinary'

name = "topspin"
version = "3.5pl2"
description = """Topspin NMR software (data processing option only)"""

homepage = 'http://bruker.com/'

toolchain = {'name': 'dummy', 'version': 'dummy'}

source_urls = ['file:///usr/prog/drop/topspin']
sources = ['topspin.%s.tgz' % version]

# for help, see eb -a -e Binary
#install_cmd = "tar xfzp"  ??


postinstallcmds = [ 'touch TesT.txt', 'mkdir prog/curdir/tin']
sanity_check_paths = {
    'files': ['topspin', 'cmca', 'pathScript'],
    'dirs': [],
}

modextrapaths = {
    'LM_LICENSE_FILE': '/prog/topspin/3.5pl2/license.dat',
    'PATH': '/prog/topspin/3.5pl2',
}

modextravars = {
    'TOPSPIN_HOME': '/prog/topspin/3.5pl2',
}




and here is the error message:

> eb topspin/topspin-3.5pl2.eb
== temporary log file in case of crash /var/tmp/adm_hoti1/easybuild/tmp/easybuild-5Jm4k0/easybuild-dgyzcE.log
== resolving dependencies ...
== processing EasyBuild easyconfig /admhome/adm_hoti1/svn/easybuild2015a/scicomp_blocks/easybuild/easyconfigs/topspin/topspin-3.5pl2.eb
== building and installing topspin/3.5pl2...
== fetching files...
== creating build dir, resetting environment...
== unpacking...
== patching...
== preparing...
== configuring...
== building...
== testing...
== installing...
== taking care of extensions...
== packaging...
== postprocessing...
== sanity checking...
== FAILED: Installation ended unsuccessfully (build directory: /var/tmp/adm_hoti1/easybuild/build/topspin/3.5pl2/dummy-dummy): build failed (first 300 chars): EasyBuild crashed with an error (at easybuild/framework/easyblock.py:1612 in sanity_check_step): Sanity check failed: no file of ('topspin',) in /clscratch/adm_hoti1/easybuild/usrProg/topspin/3.5pl2, no file of ('cmca',) in /clscratch/adm_hoti1/easybuild/usrProg/topspin/3.5pl2, no file of ('pathScri == Results of the build can be found in the log file /clscratch/adm_hoti1/easybuild/tmp/easybuild-topspin-3.5pl2-20151001.013727.KKUTJ.log ERROR: EasyBuild crashed with an error (at easybuild/main.py:112 in build_and_install_software): Build of /admhome/adm_hoti1/svn/easybuild2015a/scicomp_blocks/easybuild/easyconfigs/topspin/topspin-3.5pl2.eb failed (err: "build failed (first 300 chars): EasyBuild crashed with an error (at easybuild/framework/easyblock.py:1612 in sanity_check_step): Sanity check failed: no file of ('topspin',) in /clscratch/adm_hoti1/easybuild/usrProg/topspin/3.5pl2, no file of ('cmca',) in /clscratch/adm_hoti1/easybuild/usrProg/topspin/3.5pl2, no file of ('pathScri")



EasyBuild placed the files one level too deep:
> ls -l /clscratch/adm_hoti1/easybuild/usrProg/topspin/3.5pl2/3.5pl2/topspin* -rwxr-xr-x 1 adm_hoti1 adm_hoti1 10602 Apr 24 01:56 /clscratch/adm_hoti1/easybuild/usrProg/topspin/3.5pl2/*3.5pl2*/topspin





Reply via email to