Skip to content

[Eigen] [package list]

Eigen/3.4 (Eigen-3.4.eb)

To access module help and find out for which stacks and partitions the module is installed, use module spider Eigen/3.4.

EasyConfig:

# Adapted fro LUMI by Kurt Lust (kurt.lust@uantwerpen.be)
local_buildset = '2020a'

local_Eigen_version =        '3.4'           # https://gitlab.com/libeigen/eigen/-/releases

import os as local_os

# The first line below is a dirty trick not very much loved by the EasyBuild developers but
# it helps to make this EasyConfig indpendent of the LUMI software stack version as there is
# no other reference to that version in the file that we can use since it relies on the
# SYSTEM toolchain.
local_LUMI_version = local_os.environ['LUMI_STACK_CPE_VERSION']

name =    'Eigen'
version = local_Eigen_version

homepage = 'http://eigen.tuxfamily.org/'

whatis = [
    "Description: Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms"
]

description = """
Eigen is a C++ template library for linear algebra: matrices, vectors, numerical
solvers, and related algorithms.

This library was installed without taking care of potential dependencies
etc. as it seems that the installation process, despite doing plenty of
checks, doesn't do anything to the template library itself. If you would
experience problems when using Eigen with your own code, we suggest you
install it yourself for your compiler and your combination of mathematical
libraries as there are in fact a near infinite number of potential
configurations.

Eigen is Free Software. Starting from the 3.1.1 version, it is licensed under
the MPL2, which is a simple weak copyleft license. Common questions about the
MPL2 are answered in the official MPL2 FAQ. Note that currently, a few features
rely on third-party code licensed under the LGPL: SimplicialCholesky, AMD
ordering, and constrained_cg. Such features can be explicitly disabled by
compiling with the EIGEN_MPL2_ONLY preprocessor symbol defined. Furthermore,
Eigen provides interface classes for various third-party libraries (usually
recognizable by the <Eigen/*Support> header name). Of course you have to mind
the license of the so-included library when using them. Virtually any software
may use Eigen. For example, closed-source software may use Eigen without having
to disclose its own source code. Many proprietary and closed-source software
projects are using Eigen right now, as well as many BSD-licensed projects.

As this module includes only templates in source form, it can be used with
any suitable C++ compiler.
"""

software_license_urls = [
    "https://www.mozilla.org/en-US/MPL/2.0/",
    "https://www.gnu.org/licenses/lgpl-3.0.en.html",
]

toolchain = SYSTEM

source_urls = ['https://gitlab.com/libeigen/eigen/-/archive/%(version)s']
sources =     [SOURCELOWER_TAR_BZ2]
checksums =   ['a6f7aaa7b19c289dfeb33281e1954f19bf2ba1c6cae2c182354d820f535abef8']

configopts = '-Wno-dev' # Suppress warnings that are only for developers during the  CMake process.

builddependencies = [
    ('buildtools', local_LUMI_version),  # For CMake
]

moduleclass = 'math'

[Eigen] [package list]