在loongarch64上编译NETCDF

1、首先编译zlib

cd zlib-1.2.11
./configure
#打开makefile文件,在CFLAGS语句后增加-fPIC  -march=loongarch64
#CFLAGS=-O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -march=loongarch64 -fPIC
make
sudo make install 

2、编译NETCDF4.1.1

这是netCDF库c库和fortran库分开之前最后一个稳定的版本。

编译指令

./configure --disable-dap --prefix=/usr/local/NETCDF411G
make
make install

由于是NETCDF4.1.1构建时还没有龙芯,因此需要更新下述两个文件,并将这两个文件赋予可执行权限。

 config.guessconfig.sub脚本的作用是猜测你的构建系统类型。

3、编译hdf5

替换hdf5-1.8.16/bin目录下的config.guess config.sub文件

export H5DIR=/usr/local/HDF51816
./configure -with-zlib=/usr/local/lib --prefix=${H5DIR} -enable-hl
make
sudo make install

4、编译NETCDF4.2以后版本,c库和fortran库虽然分开,但是需要配合使用,版本不能差别过大,这也是很多人遇到莫名其妙的netcdf问题的原因之一。

本次使用netcdf-c4.6.2和f库4.4.5。

#编译netcdf-c
cd netcdf-c-4.6.2
cp ../netcdf-4.1.1/config.guess ./
cp ../netcdf-4.1.1/config.sub ./
CPPFLAGS='-I/usr/local/HDF51816/include -I/usr/local/include' LDFLAGS='-L/usr/local/HDF51816/lib -L/usr/local/lib' ./configure  --disable-dap  --prefix=${NCDIR}
make
make install

#编译netcdf-f
cd netcdf-fortran-4.4.5/
cp ../netcdf-4.1.1/config.guess ./
cp ../netcdf-4.1.1/config.sub ./
CPPFLAGS='-I/usr/local/HDF51816/include -I/usr/local/NETCDFC462G/include'  LDFLAGS='-L/usr/local/NETCDFC462G/lib -L/usr/local/HDF51816/lib' ./configure   --prefix=${NFDIR}

编译完毕后,将f库和c库的lib下的文件合并到一个文件夹下,并给予环境变量。

export NETCDF=/usr/local/NETCDFC462G
export NETCDF_INC=$NETCDF/include
export NETCDF_LIB=$NETCDF/lib
export PATH=$PATH:$NETCDF/bin
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$NETCDF/lib

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值