Skip to content

[libcxi] [package list]

libcxi/shs-12.0.1 (libcxi-shs-12.0.1.eb)

Install with the EasyBuild-user module:

eb libcxi-shs-12.0.1.eb -r
To access module help after installation and get reminded for which stacks and partitions the module is installed, use module spider libcxi/shs-12.0.1.

EasyConfig:

# Developed by Maciej Szpindler for the LUMI consortium.
# This recipe is a custom CXI provider for a custom libfabric.
easyblock = 'ConfigureMake'

name =    'libcxi'
version = 'shs-12.0.1'

homepage = 'https://github.com/HewlettPackard/shs-libcxi'

whatis = [
    'Description: The CXI library provides interfaces which interact directly with CXI drivers.'
]

description = """
The CXI library provides interfaces which interact directly with CXI drivers. 
CXI drivers support communication over the Cray Cassini NIC.
"""

toolchain = SYSTEM

sources = [
    {
        'filename': '%(name)s-%(version)s.tar.gz',
        'git_config': {
            'url':       'https://github.com/HewlettPackard',
            'repo_name': 'shs-libcxi',
            'commit':    'release/%(version)s'
        },
    },
    {
        'filename': 'cassini-headers.tar.gz',
        'git_config': {
            'url':        'https://github.com/HewlettPackard',
            'repo_name':  'shs-cassini-headers',
            'commit':     'release/%(version)s',
            'clone_into': '../cassini-headers/install'
        },
    },
    {
        'filename': 'cxi-driver.tar.gz',
        'git_config': {
            'url':        'https://github.com/HewlettPackard',
            'repo_name':  'shs-cxi-driver',
            'commit':     'release/%(version)s',
            'clone_into': '../cxi-driver'
        },
    },
]

# No checksums as they are not reproducible with the EasyBuild installation for which this
# EasyConfig was developed.

builddependencies = [
    ('rocm',       '6.2.2',  '', SYSTEM),
    ('libconfig',  '1.7.3',  '', SYSTEM),
    ('libuv',      '1.48.0', '', SYSTEM),
    ('lm-sensors', '3.6.0',  '', SYSTEM),
    ('FUSE',       '2.9.9',  '', SYSTEM),
]

preconfigopts  = './autogen.sh && '
configopts = 'CFLAGS="-Wno-error -D_FILE_OFFSET_BITS=64 -I../cxi-driver/include" --with-udevrulesdir=%(installdir)s/lib/udev/rules.d --with-systemdsystemunitdir=%(installdir)s/lib/systemd/system '

postinstallcmds  = [
    'cp -r ../cxi-driver/include/linux %(installdir)s/include && cp -r ../cxi-driver/include/uapi %(installdir)s/include && cp -r ../cassini-headers/install/include/* %(installdir)s/include && cp -r ../cassini-headers/install/share %(installdir)s'
]

sanity_check_paths = {
    'files': ['lib/libcxi.%s' % SHLIB_EXT,
              'include/libcxi/libcxi.h'],
    'dirs':  ['lib'],
}

moduleclass = 'lib'

[libcxi] [package list]