Skip to content

[OpenPGM] [package list]

OpenPGM/5.2.122-cpeGNU-24.03 (OpenPGM-5.2.122-cpeGNU-24.03.eb)

Install with the EasyBuild-user module:

eb OpenPGM-5.2.122-cpeGNU-24.03.eb -r
To access module help after installation and get reminded for which stacks and partitions the module is installed, use module spider OpenPGM/5.2.122-cpeGNU-24.03.

EasyConfig:

# Adapted for LUMI by Orian Louant

easyblock = 'ConfigureMake'

local_OpenPGM_version =      '5.2.122'       # https://code.google.com/archive/p/openpgm/downloads

name =    'OpenPGM'
version = local_OpenPGM_version

homepage = 'https://code.google.com/p/openpgm/'

whatis = [
  'Description: OpenPGM is an open source implementation of the Pragmatic '
  'General Multicast specification in RFC 3208'
]

description = """
OpenPGM is an open source implementation of the Pragmatic General Multicast
(PGM) specification in RFC 3208 available at www.ietf.org. PGM is a reliable
and scalable multicast protocol that enables receivers to detect loss, request
retransmission of lost data, or notify an application of unrecoverable loss.
PGM is a receiver-reliable protocol, which means the receiver is responsible
for ensuring all data is received, absolving the sender of reception
responsibility.
"""

toolchain = {'name': 'cpeGNU', 'version': '24.03'}
toolchainopts = {'pic': True}

source_urls = ['https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/openpgm/']
sources =     ['libpgm-%(version)s.tar.gz']
patches = ['OpenPGM-5.2.122_python3-compliant.patch']

checksums = [
    # libpgm-5.2.122.tar.gz
    '6b895f550b95284dcde7189b01e04a9a1c1f94579af31b1eebd32c2207a1ba2c',
    # OpenPGM-5.2.122-python3-compliant.patch
    'f28a9a577606f35f21562fe6b274df155a7f3f60ce333a91f93fd011ccec6e36',
]

builddependencies = [
    ('cray-python',         EXTERNAL_MODULE),
    ('craype-network-none', EXTERNAL_MODULE),
    ('craype-accel-host',   EXTERNAL_MODULE)
]

preconfigopts = 'module unload rocm cray-libsci && '
prebuildopts = preconfigopts

start_dir = 'pgm'

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

moduleclass = 'system'

[OpenPGM] [package list]