爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 9079|回复: 9

[求助] 编译grib_api的问题

[复制链接]

新浪微博达人勋

发表于 2012-4-30 14:21:52 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 uranuscc 于 2012-5-1 00:38 编辑

   我需要用fortran读取grib数据,在某论坛我看到了提示可用欧洲中心的GRIB_API包来实现,但是当我下载按说明安装好后,在编译读数据程序时有以下错误:
[uranus@uranus test]$ gfortran test_grib.f90 -L /usr/local/grib_api_dir/lib/ -lgrib_api -lgrib_api_f77 -lgrib_api_f90 -I /usr/local/grib_api_dir/include/

/usr/local/grib_api_dir/lib//libgrib_api_f90.a(grib_fortran.o): In function `_grib_f_keys_iterator_new_':
/home/uranus/uranus/compile/grib_api-1.9.9/fortran/grib_fortran.c:980: undefined reference to `grib_keys_iterator_new'
/usr/local/grib_api_dir/lib//libgrib_api_f90.a(grib_fortran.o): In function `_grib_f_iterator_new_':
/home/uranus/uranus/compile/grib_api-1.9.9/fortran/grib_fortran.c:921: undefined reference to `grib_iterator_new'
/usr/local/grib_api_dir/lib//libgrib_api_f90.a(grib_fortran.o): In function `grib_f_read_any_headers_only_from_file_':
/home/uranus/uranus/compile/grib_api-1.9.9/fortran/grib_fortran.c:716: undefined reference to `grib_context_get_default'
/home/uranus/uranus/compile/grib_api-1.9.9/fortran/grib_fortran.c:717: undefined reference to `grib_read_any_headers_only_from_file'
/usr/local/grib_api_dir/lib//libgrib_api_f90.a(grib_fortran.o): In function `grib_f_read_any_from_file_':
/home/uranus/uranus/compile/grib_api-1.9.9/fortran/grib_fortran.c:738: undefined reference to `grib_context_get_default'
/home/uranus/uranus/compile/grib_api-1.9.9/fortran/grib_fortran.c:739: undefined reference to `grib_read_any_from_file'
/usr/local/grib_api_dir/lib//libgrib_api_f90.a(grib_fortran.o): In function `grib_f_write_file_':
.......
因为官网站说intel_fortran 没有通过
安装API的时候用的 FC=gfortran  ./configure --prefix=/usr/local/grib_api_dir --disable-jpeg
make
make install
make check
安装步骤没有报错
但是要编译test.f90时就报以上的错

希望有人能帮我解答一下



密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-4-30 16:39:00 | 显示全部楼层
你检查有关库文件的-L设置路径是不是正确
这些提示应该是库文件没有吧
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-4-30 16:46:00 | 显示全部楼层
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-5-3 22:06:16 | 显示全部楼层
本帖最后由 uranuscc 于 2012-5-3 22:06 编辑

问题已经解决,
编译的时候,我用的pgi编译器,c编译器要用pgcc,在用静态库的时候f77和f90选一个就可以了。
FC=pgf90 CC=pgcc ./configure  prefix=/.........................

$ pgf90 test_grib.f90 -L /usr/local/grib_api_dir/lib/ -lgrib_api_f90 -lgrib_api -I /usr/local/grib_api_dir/include/
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-9-21 16:43:29 | 显示全部楼层
亲,您的问题解决了吗?  解决了的话,能不能贴一个教程出来?   
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-2-19 08:15:09 | 显示全部楼层
白菜 发表于 2015-9-21 16:43
亲,您的问题解决了吗?  解决了的话,能不能贴一个教程出来?

我已经将解决方案写在回复里啦
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-6-29 10:46:26 | 显示全部楼层
具体怎么用这个读取grib楼主能发下程序代码吗?我是小白,现在也急需做这个。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-6-2 12:35:50 | 显示全部楼层
uranuscc 发表于 2012-5-3 22:06
问题已经解决,
编译的时候,我用的pgi编译器,c编译器要用pgcc,在用静态库的时候f77和f90选一个就可以了 ...

请问楼主,要是用GCC编译器,是不是FC=gfortran CC=gcc ./configure  prefix=/.........................
这样写就可以了?另外,怎么检验是否安装成功,安装成功后会显示什么吗?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-6-28 20:12:01 | 显示全部楼层
具体怎么用这个读取grib楼主能发下程序代码吗?我是小白,现在也急需做这个。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-9-12 16:57:05 | 显示全部楼层
samvelly 发表于 2017-6-28 20:12
具体怎么用这个读取grib楼主能发下程序代码吗?我是小白,现在也急需做这个。

很久以前写的安装帖子了,不记得怎么读啦
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表