博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux 源码安装httped,Linux下用Intel编译器编译安装NetCDF-Fortan库(4.2版本后)
阅读量:4363 次
发布时间:2019-06-07

本文共 1465 字,大约阅读时间需要 4 分钟。

本来这个问题真的没必要写的,可是真的困扰我太久%>_

首先,最权威清晰的安装文档还是官方的:

那这个文档最开始就告诉我们,自NetCDF库4.2版本以后,Fortran的库和C的库就要分开build啦!而且要装Fortran的库必须先装好C的库。

所以先装C的库咯:仍然官方文档:

那这个文档告诉我们:要装NetCDF-C的库,有三个(其实是两个)必须装的:zlib,HDF5,(curl)。

参照官方文档,zlib和hdf5的安装比较简单,指定一下安装路径即可:

build zlib:

$ ./configure --prefix=/home/ed/local

$make check install

build HDF5:

$ ./configure --with-zlib=/home/ed/local --prefix=/home/ed/local

$make check install

其中,比较容易出问题的是HDF5的安装,参阅HDF5官方文档

成功之后,就可以进行netcdf-c和netcdf-fortran库的安装了,这里有个问题要注意:编译安装库时候的编译器要和你以后编译你的Fortran代码使用的编译器一致,否者以后在编译Fortran源代码其中用到netcdf库时会出错。以我为例:我平时用Intel的编译器,所以此时在安装这两个库的时候,分别用Intel C++ Composer和Intel Fortran Composer进行编译(后面简称icc和ifort)

安装好了icc和ifort以后均需要设置一下环境变量:(最好添加到~/.bashrc文件中)

source /bin/compilervars.sh intel64

接下来就是用Intel编译器编译安装netcdf库了:

关键就是设置几个编译选项:

export CC=icc

export CXX=icpc

export CFLAGS=‘-O3 -xHost -ip -no-prec-div -static-intel‘export CXXFLAGS=‘-O3 -xHost -ip -no-prec-div -static-intel‘export F77=ifort

export FC=ifort

export F90=ifort

export FFLAGS=‘-O3 -xHost -ip -no-prec-div -static-intel‘export CPP=‘icc -E‘export CXXCPP=‘icpc -E‘

对于c库:

$ CPPFLAGS=-I/home/ed/local/include LDFLAGS=-L/home/ed/local/lib ./configure --prefix=/home/ed/local

$make check install

对于Fortran库:

首先仍然如上设置编译选项,然后假设你的c库安装在路径${DIR1}:

export LD_LIBRARY_PATH=${DIR1}/lib:${LD_LIBRARY_PATH}

然后和c库的编译过程一样:

CPPFLAGS=-I${DIR1}/include LDFLAGS=-L${DIR1}/lib ./configure --prefix=${DIR1}make

makecheckmake install

原文:http://www.cnblogs.com/fsquared/p/3804863.html

你可能感兴趣的文章
mysql远程链接
查看>>
nginx location配置
查看>>
Easy Install详细参数
查看>>
选课系统
查看>>
最简实例演示asp.net5中用户认证和授权(2)
查看>>
ubuntu rhythmbox乱码解决方法
查看>>
LeetCode题解之Univalued Binary Tree
查看>>
线程池学习研究-(自实现)2
查看>>
ubuntu下安装新字体
查看>>
Django连接MySQL数据库
查看>>
漫游Kafka入门篇之简单介绍(1)
查看>>
redis学习之旅-初识Redis
查看>>
WinForm 小程序 NotePad
查看>>
JSTL 核心标签库 使用
查看>>
线程池ThreadPool
查看>>
hibernate入门实例
查看>>
WPF路由事件二:路由事件的三种策略(转)
查看>>
Java中的内存泄露
查看>>
asp.net 自定义控件验证FCKeditor是否为空
查看>>
oracle 查看表空间的脚本
查看>>