安装软件包

faspsolver

sudo apt-get install cmake
sudo apt-get install doxygen
make config
make install

使用方法

主目录 make
cd BUILD_FASP/tutorial; ./mv_ex.sh
tutorial ./

blas

make

TO DO: 安装高效 BLAS 库,例如 MKL

lapack

创建make.inc
修改BLASLIB = ../../../BLAS-3.5.0/blas_LINUX.a

make

lapack 链接的 BLAS 库是经过优化的
Makefile中 lib:那一行下面有个注释,如果换成注释部分的内容则会自动编译lapack自带的BLAS。
我在服务器CentOS下安装时,编译到测试部分,./xeigtstz报错,段错误(吐核), 不知道为啥,修改TEST文件夹下的Makefile,去掉所有的complex类型测试则编译通过。

SuiteSparse

包含很多软件包以及matlab接口,主要是含有UMFPACK

cd SuiteSparse_config/

修改SuiteSparse_config.mk

CFLAGS = -g
注释 BLAS = -lopenblas
BLAS = ../../../BLAS-3.5.0/blas_LINUX.a -lgfortran
LAPACK = ../../../lapack-3.5.0/liblapack.a
cd ../
make
// make install 
// # For "make install"
// INSTALL_LIB = /usr/local/lib
// INSTALL_INCLUDE = /usr/local/include

ARPACK

强烈建议安装 2.0 版的LAPACKARPACK自带
修改ARmake.inc

HOME = /home/ycg/Software
home = $(HOME)/ARPACK
FC      = gfortran
FFLAGS  = -O
MAKE    = make

修改完毕后

make lib

编译中会出现两个警告,
其中一个说警告:覆盖关于目标“.f.o”的命令是由于各个子目录下对 .f.o 的自动推导有重复所致,可以不用理会;
另一个说ASSIGN 不支持,是因为BLAS文件夹下两个函数文件dnrm2.fsnrm2.f 太老所致,替换为最新的版本即可。
编译算例EXAMPLES/NONSYM报错

dndrv3.f:(.text+0x23f):对‘dpttrf_’未定义的引用
dndrv3.f:(.text+0x516):对‘dpttrs_’未定义的引用

这是因为MakefilePRECISIONS变量
包含的编译选项不够,导致LAPACK相关函数文件未编译所致,
在其最后加上sdrv即可解决。

在函数‘second_’中:
second.f:(.text+0x11):对‘etime_’未定义的引用

首先修改UTIL/second.f,将第三行REAL T至倒数第五行 RETURN之间的行全部注释,然后在倒数第六行添加

CALL CPU_TIME( T )

其他额外选项可以参考LAPACK文件夹下的Makefile

FEM_SOFT

sudo apt-get install f2c

mpich

创建mpi_buildmpi_install文件夹

cd mpi_build/
 ../mpich-3.2/configure -prefix=/home/ycg/Software/mpi_install \
                        --enable-fast=all,O3 --enable-g=dbg,mem,log  2>&1 |tee ycg_c.txt
make 2>&1 |tee ycg_m.txt
sudo make install 2>&1| tee ycg_mi.txt

./configure会在mpi_build文件夹生成配置信息和Makefile
make会在mpi_build文件夹下编译
make istall会在mpi_install下的includelib文件夹生成mpi.h libmpi.a等文件,在bin文件夹下生成mpicc mpiexec mpicxx等命令

然后就可以执行类似

~/Software/mpi_install/bin/mpiexec -np 4 ./cpi

下面需要把 mpi 的编译命令放入环境变量

sudo vi /etc/profile

添加

export PATH=$PATH:/home/ycg/Software/mpi_install/bin

需要注销后才能使用,如果想立即看效果,可以

source /etc/profile

这样在当前终端界面下可以使用mpi的相关命令

卸载

make uninstall

会把mpi_install下的很多文件删除,不知道为啥删除不干净

make clean
make distclean

然后把mpi_install mpi_build文件夹删除即可

你可能感兴趣的:(linux,c-fortran,软件包)