爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 9635|回复: 14

libnetcdf.a recompile with -fPIC

[复制链接]

新浪微博达人勋

发表于 2020-12-27 13:25:17 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 骨头333 于 2020-12-27 13:27 编辑

求助,我在安装gdal的时候,始终出现recompile with -fPIC,我按照报错情况,换了各种方法安装,最后用了我觉得应该比较完整的语句重新安装了netcdf(./configure --prefix=/usr/netcdfgcc --disable-netcdf-4 --enable-shared CC=gcc FC=gfortran CFLAGES=-fPIC CXXFLAGES=-fPIC)netcdf 倒是安装上,可是gdal的报错没有变。我看到这个libnetcdf.a是文件/usr/local/lib下的,但是我netcdf安装并没有改变这个/usr/local/lib文件下的libnetcdf文件。安装了快一个星期,实在是不知道到底哪里出了问题,还请各位指点!
1112.png

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

新浪微博达人勋

 楼主| 发表于 2020-12-27 17:03:34 | 显示全部楼层
把安装了netcdf下lib中的libnetcdf.a复制到了/usr/local/lib下,我也不知道这样做对不对,不过现在换了一个报错内容了
C:\Users\ASUS\Desktop\12.png
12.png
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-12-27 17:40:00 | 显示全部楼层
undefined 一般是主要原因 nc代表netcdf 猜测原因时你只复制了libnetcdf.a 可能问题出在libnetcdf.so上,你不用复制过来
如果你用bash 你要把 netcdf的地方加进去
一条条运行就行 或者放在bashrc里
export NETCDF=XXXXXXXX/netcdf 你的位置
export PATH=$PATH:$NETCDF
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${NETCDF}/lib:${NETCDF}/include
export CPPFLAGES=" -I${NETCDF}/include"
export LDFLAGS="-L${NETCDF}/lib"
export C_INCLUDE_PATH=$C_INCLUDE_PATH:${NETCDF}/include
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:${NETCDF}/include
export LIBRARY_PATH=$LIBRARY_PATH:${NETCDF}/include:${NETCDF}/lib
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-12-27 18:57:44 | 显示全部楼层
linyu0219 发表于 2020-12-27 17:40
undefined 一般是主要原因 nc代表netcdf 猜测原因时你只复制了libnetcdf.a 可能问题出在libnetcdf.so上,你 ...

多谢您的回复,我按照您的方法修改了bashrc并source之后,仍然是同样的报错
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-12-27 19:13:59 | 显示全部楼层
linyu0219 发表于 2020-12-27 17:40
undefined 一般是主要原因 nc代表netcdf 猜测原因时你只复制了libnetcdf.a 可能问题出在libnetcdf.so上,你 ...

{:eb303:}{:eb303:}在netcdf安装的时候也是有路径添加进bashrc的,是因为那些路径不起作用吗
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-12-27 19:51:04 | 显示全部楼层
有些flag不通用的 你都加下试一试 我上面CPPFLAGES 写错了 应该时CPPFLAGS
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-12-27 20:48:47 | 显示全部楼层
linyu0219 发表于 2020-12-27 19:51
有些flag不通用的 你都加下试一试 我上面CPPFLAGES 写错了 应该时CPPFLAGS

我的确按照对应格式尝试的,报错仍然是原来的样子。我除了您指点的那几个语句之外,自己安装netcdf的时候也在bashrc对应添加了几个,不知道是不是因为二者冲突了,辛苦您看看,真的不好意思,辛苦您了

111.png
222.png
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-12-27 21:15:55 | 显示全部楼层
你现在usr/netcdfgcc 就有include 和lib吗 你的.a文件在里面吗
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-12-27 21:25:21 | 显示全部楼层
你有没有对比过 你把.a文件放进去之后 进度 比如make哪个文件是往下进行了,还是往前进行了。你看看usr/local/lib还有什么文件 把libnetcdf.so文件也放进去
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-12-27 21:27:35 | 显示全部楼层
本帖最后由 骨头333 于 2020-12-27 21:28 编辑
linyu0219 发表于 2020-12-27 21:15
你现在usr/netcdfgcc 就有include 和lib吗 你的.a文件在里面吗

是有的,.a文件也在lib文件下的,只是这个锁住的文件不知道什么情况,ncdump是正常的
222.png
111.png
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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