Skip to content

[libxc] [package list]

libxc/7.0.0-cpeCray-25.03-KXC (libxc-7.0.0-cpeCray-25.03-KXC.eb)

Install with the EasyBuild-user module:

eb libxc-7.0.0-cpeCray-25.03-KXC.eb -r
To access module help after installation and get reminded for which stacks and partitions the module is installed, use module spider libxc/7.0.0-cpeCray-25.03-KXC.

EasyConfig:

# contributed by Luca Marsella (CSCS)
# adapted for LUMI by Peter Larsson
# enable calculation of the 3rd derivatives of energy

local_Perl_version = '5.40.0'

easyblock = 'CMakeMake'

local_libxc7_version =       '7.0.0'         # https://gitlab.com/libxc/libxc/-/releases

name =          'libxc'
version =       local_libxc7_version
versionsuffix = '-KXC'

homepage = 'https://libxc.gitlab.io/'

whatis = [
    "Description: Libxc is a library of exchange-correlation and kinetic energy functionals " +
    "for density-functional theory."
]

description = """
Libxc is a library of exchange-correlation and kinetic energy functionals for
density-functional theory. The original aim was to provide a portable, well
tested and reliable set of LDA, GGA, and meta-GGA functionals.

Libxc is written in C, but it also comes with Fortran binding.

It is released under the MPL license (v. 2.0). In all publications resulting
from your use of Libxc, please cite:

[ref] Susi Lehtola, Conrad Steigemann, Micael J. T. Oliveira, and Miguel A. L. Marques,
      "Recent developments in Libxc - A comprehensive  library of functionals for
      density functional theory", Software X 7, 1 (2018)
"""

docurls = [
    'Manual: https://libxc.gitlab.io/manual/',
    'Available functionals: https://libxc.gitlab.io/functionals/'
]

toolchain = {'name': 'cpeCray', 'version': '25.03'}
toolchainopts = {'opt': True}

source_urls = ['https://gitlab.com/%(name)s/%(name)s/-/archive/%(version)s']
sources = [SOURCE_TAR_BZ2]
#checksums = ['f72ed08af7b9dff5f57482c5f97bff22c7dc49da9564bc93871997cbda6dacf3']
checksums = ['e9ae69f8966d8de6b7585abd9fab588794ada1fab8f689337959a35abbf9527d']  # libxc-7.0.0.tar.bz2

builddependencies = [
    ('buildtools', '%(toolchain_version)s', '', True), # For CMake
    ('craype-network-none', EXTERNAL_MODULE),
    ('craype-accel-host',   EXTERNAL_MODULE),
    ('Perl',                local_Perl_version),
]

local_common_configopts = '-DENABLE_FORTRAN=ON -DCMAKE_INSTALL_LIBDIR=lib -DDISABLE_KXC=OFF'

configopts = [
    local_common_configopts + ' -DBUILD_SHARED_LIBS=OFF',
    local_common_configopts + ' -DBUILD_SHARED_LIBS=ON',
]

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

preinstallopts = 'mv XC_F03_FUNCS_M.mod xc_f03_funcs_m.mod && mv XC_F03_LIB_M.mod xc_f03_lib_m.mod && '

postinstallcmds = [
    'mkdir -p %(installdir)s/share/licenses/%(name)s',
    'cd ../%(name)s-%(version)s && cp AUTHORS CITATION COPYING NEWS README.md %(installdir)s/share/licenses/%(name)s',
]

sanity_check_paths = {
    'files': ['bin/xc-info'] +
             ['lib/libxc%s.%s' % (x, y) for x in ['', 'f03'] for y in ['a', SHLIB_EXT]],
    'dirs': ['include', 'lib/pkgconfig', 'lib/cmake/Libxc'],
}

moduleclass = 'chem'

[libxc] [package list]