Skip to main content

ARPACK

ARPACK-NG is a collection of Fortran77 subroutines designed to solve large scale eigenvalue problems.

Config option

Only ARPACK

-D USE_ARPACK:BOOL=ON

Both APRACK and PARPACK

-D USE_ARPACK:BOOL=ON -D USE_PARPACK:BOOL=ON

Build instruction for easifem

Build only ARPACK

build_dir=$HOME/temp/easifem-extpkgs/arpack-ng/build/
cmake_def="-D CMAKE_INSTALL_PREFIX:PATH=${EASIFEM_EXTPKGS} -D BUILD_SHARED_LIBS:BOOL=ON -D CMAKE_BUILD_TYPE:STRING=Release -D MPI:BOOL=OFF"

cmake -S . -B ${build_dir} ${cmake_def}
cmake -B ${build_dir}
cmake --build ${build_dir} --target install

Build both ARPACK and PARPACK

build_dir=~/temp/easifem-extpkgs/arpack-ng/build

cmake -S ./ -B ${build_dir} -D CMAKE_INSTALL_PREFIX:PATH=${EASIFEM_EXTPKGS} -D BUILD_SHARED_LIBS:BOOL=ON -D MPI:BOOL=ON -D CMAKE_BUILD_TYPE:STRING=Release

cmake --build ${build_dir} --target install

Current location in easifem

/extpkgs/arpack-ng

Toml configuration for easifem

name = "arpack"
isExtPkg = true
isActive = true
buildSystem = "cmake"
git = 'github.com/easifem/arpack.git'
buildType = "Release" # "Debug", "Both"
buildSharedLibs = true
buildStaticLibs = true
libName = "arpack"
runtest = true
license = "GPL3"
buildOptions = [
"-D MPI:BOOL=OFF",
"-D ICB:BOOL=OFF",
"-D EIGEN:BOOL=OFF",
"-D EXAMPLES:BOOL=OFF",
]
envVars.foo = "bar"
envVars.FOO = "BAR"