Linux下用Intel编译器编译安装NetCDF-Fortan库(4.2版本后)

本来这个问题真的没必要写的,可是真的困扰我太久%>_<%,决定还是记录一下。

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

Building the NetCDF-4.2 and later Fortran libraries (写此文时,最近版为4.2)

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

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

Getting and Building NetCDF-C (写此文时,最新版本为4.3.2)

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

综上,需要下载4个tar的包。点我们下载:zilb & hdf5  netcdf-c-4.3.2  netcdf-fortran-4.2

参照官方文档,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)

Intel 编译器的下载地址

User and Reference Guide for the Intel® C++ Compiler 14.0

User and Reference Guide for the Intel® Fortran Compiler 14.0

Using Intel Compilers for Linux Under Redhat Enterprise Linux or CentOS

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

source <compiler_install_dir>/bin/compilervars.sh intel64

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

Building NetCDF* with the Intel® compilers官方文档

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

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
make check
make install

Linux下用Intel编译器编译安装NetCDF-Fortan库(4.2版本后)

时间: 2024-12-26 21:12:05

Linux下用Intel编译器编译安装NetCDF-Fortan库(4.2版本后)的相关文章

linux下ARM交叉编译器的安装

1.下载arm-linux-gcc编译器. 2.将下载好的编译器压缩文件拷贝到linux中,注意不要在windows中解压,因为RAR解压工具解压gzip压缩工具压缩的文件可能会出问题. 尽量将编译器的压缩文件放置到根目录下(其实也不一定是要根目录,但是我自己使用过程中发现有一个厂家提供的编译器没有安装在指定的位置,编译器提示库找不到),这样做的目的是为了尽量减少麻烦.拷贝好之后,在终端使用: # tar xvzf arm-linux-gcc-4.4.3.tar.gz 解压编译器. 3.解压好了

Linux下通过源码编译安装程序

ASK: Linux下通过源码编译安装程序(configure/make/make install的作用) configure Linux 平台有各种不同的配置,安装时需要通过 configure 来确定,如:编译器用的是 cc 还是 gcc.不同库文件所在目录等.执行 configure 后会生成 Makefile,Makefile 规定了用什么编译器.编译参数等信息. make 根据 Makefile 中规定的内容进行编译,生成的可执行文件放在当前目录或某个子目录. make install

linux下源码包编译安装LAMP环境

1. 下载所需的源码包 Httpd-2.4.10  apr-1.5.1  apr-util-1.5.3  pcre-8.33(这些均可在Apache官网进行下载) Mysql-5.5.39    php-5.6.0 2. 解压这些压缩包(以上包均为.tar.gz版本的) 使用命令 tar –zxvf 安装包名 –C /usr/local/src (这里统一解压到该目录下) 3. 编译Apache部分 (1).安装apache依赖包pcre # cd ./pcre-8.33 # ./configu

Linux 下 PHP 扩展Soap 编译安装

1.进入 PHP 的软件包 pdo 扩展目录中(注:不是 PHP 安装目录) [[email protected] /]# /home/tdweb/php-5.4.34/ext/soap 执行 phpize 命令 [[email protected] soap]# /usr/local/php/bin/phpize 注:/usr/local/php 是我的 php 安装目录 Configuring for: PHP Api Version:         20100412 Zend Modul

Linux 下 PHP 扩展 PDO 编译安装

1.进入 PHP 的软件包 pdo 扩展目录中(注:不是 PHP 安装目录) [[email protected] /]# /home/tdweb/php-5.4.34/ext/pdo_mysql 执行 phpize 命令 [[email protected] pdo_mysql]# /usr/local/php/bin/phpize 注:/usr/local/php 是我的 php 安装目录 Configuring for: PHP Api Version:         20100412

Linux 下 PHP 扩展 cURL 编译安装

下载 cURL http://pan.baidu.com/s/1hqrHWkG (curl-7.39.0.tar.gz) 3.98MB 解压: [plain] view plain copy tar zxvf curl-7.39.0.tar.gz ./configure --prefix=/usr/local/curl [plain] view plain copy make && make install 安装 curl 成功后,进入 php 的源码包(非php安装地址) [plain]

linux下的g++编译器安装

再debian下直接apt-get install gcc g++就能够了.依照类似的逻辑,再Fedora下yum install gcc g++ 报告无法找到g++包. 查了一下,原来这个包的名字叫做gcc-c++.完整的应该是yum install gcc gcc-c++. 注意安装时要先成为root用户.详细的在终端输入su之后会提示输入管理员password,输入之后在终端输入命令行yum install gcc gcc-c++就好了,依照提示一步一步的安装就能够了. linux下的g+

Linux下基于源码方式安装MySQL 5.6

MySQL为开源数据库,因此可以基于源码实现安装.基于源码安装有更多的灵活性.也就是说我们可以针对自己的硬件平台选用合适的编译器来优化编译后的二进制代码,根据不同的软件平台环境调整相关的编译参数,选择自身需要选择不同的安装组件,设定需要的字符集等等一些可以根据特定应用场景所作的各种调整.本文描述了如何在源码方式下安装MySQL. 1.安装环境及介质#安装环境SZDB:~ # cat /etc/issueWelcome to SUSE Linux Enterprise Server 10 SP3

Linux下librdkafka客户端的编译运行

Linux下librdkafka客户端的编译运行 librdkafka是一个开源的Kafka客户端C/C++实现,提供了Kafka生产者.消费者接口. 由于项目需要,我要将Kafka生产者接口封装起来给别人调用,所以先安装了librdkakfa,然后在demo上进行修改封装一个生产者接口. [一] 安装librdkafka 首先在github上下载librdkafka源码,解压后进行编译: cd librdkafka-master chmod 777 configure lds-gen.py .