ZeroMQ/4.3.5-cpeGNU-24.03 (ZeroMQ-4.3.5-cpeGNU-24.03.eb)
Install with the EasyBuild-user module:
To access module help after installation and get reminded for which stacks and partitions the module is installed, usemodule spider ZeroMQ/4.3.5-cpeGNU-24.03
.
EasyConfig:
# Based on a easyconfig by the Juelich Supercomputing Centre
# Adapted for LUMI by Orian Louant
easyblock = 'ConfigureMake'
local_OpenPGM_version = '5.2.122' # https://code.google.com/archive/p/openpgm/downloads
local_libsodium_version = '1.0.19' # https://download.libsodium.org/libsodium/releases/
local_ZeroMQ_version = '4.3.5' # https://github.com/zeromq/libzmq/releases/
name = 'ZeroMQ'
version = local_ZeroMQ_version
homepage = 'https://www.zeromq.org/'
whatis = ['Description: ZeroMQ is an open-source universal messaging library']
description = """
ZeroMQ looks like an embeddable networking library but acts like a concurrency
framework. It gives you sockets that carry atomic messages across various
transports like in-process, inter-process, TCP, and multicast. You can connect
sockets N-to-N with patterns like fanout, pub-sub, task distribution, and
request-reply. It's fast enough to be the fabric for clustered products. Its
asynchronous I/O model gives you scalable multicore applications, built as
asynchronous message-processing tasks. It has a score of language APIs and runs
on most operating systems.
"""
docurls = ['https://zeromq.org/get-started/']
toolchain = {'name': 'cpeGNU', 'version': '24.03'}
source_urls = ['https://github.com/zeromq/libzmq/releases/download/v%(version)s/']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['6653ef5910f17954861fe72332e68b03ca6e4d9c7160eb3a8de5a5a913bfab43']
builddependencies = [
('buildtools', '%(toolchain_version)s', '', True),
('craype-network-none', EXTERNAL_MODULE),
('craype-accel-host', EXTERNAL_MODULE),
]
dependencies = [
('OpenPGM', local_OpenPGM_version),
('libsodium', local_libsodium_version),
]
# Compilation warnings in GCC 11, cf. https://github.com/zeromq/libzmq/issues/4178
# Needto disable warnings as errors.
configopts = '--with-pic --with-pgm --with-libsodium --disable-Werror'
preconfigopts = 'module unload cray-libsci rocm && '
prebuildopts = preconfigopts
sanity_check_paths = {
'files': ['lib/libzmq.%s' % SHLIB_EXT, 'lib/libzmq.a'],
'dirs': ['include', 'lib'],
}
moduleclass = 'devel'