ncap2:加载共享库时出错:libnetcdf.so.7:无法打开共享对象文件:没有这样的文件或目录

如何解决ncap2:加载共享库时出错:libnetcdf.so.7:无法打开共享对象文件:没有这样的文件或目录

我试图在远程服务器(RHEL 7.8)中安装nco,但我不是root用户,这意味着我无法在终端中使用sudo或yum。然后,我按照nco(http://nco.sourceforge.net/src/)主页上的说明进行操作,其中建议采用预先构建的方式。所以我用了conda方法。但是当我使用conda install -c conda-forge nco时,速度太低。最后,我被告知解决环境不成功。之后,我在https://anaconda.org/conda-forge/nco的conda中搜索了nco,被告知conda install -c conda-forge/label/broken nco可以。是的,安装已完成。但是当我想使用命令ncap2时,有人告诉我

ncap2: error while loading shared libraries: libnetcdf.so.7: cannot open shared object file: No such file or directory

我检查了LD_LIBRARY_PATH,但找不到指向libnetcdf.so.7的链接。我使用find命令来查找libnetcdf.so.7的位置,但是正如您所知,我在服务器上运行,因此大多数访问都被拒绝。这是我的~/.bashrc

export PATH="/home/xushan/anaconda3/bin:$PATH"
export PATH="$PATH:/home/xushan/openmpi/bin"
#export PATH= "$HOME/openmpi/bin:$PATH"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/xushan/openmpi/lib"
export VER_MPI="NOMPI"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/xushan/SURFEX_v8_1_public/open_SURFEX_V8_1/src/LIB"
#export VER_USER="FORC"
export PATH="/home/xushan/anaconda3/bin/ncdump:$PATH"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/xushan/anaconda3/lib"

奇怪的是,当我ls/usr/local/lib时,什么都没有。 有什么办法可以帮助我完成安装?我尝试了http://nco.sourceforge.net/src/中建议的以下命令:

wget https://github.com/nco/nco/archive/4.9.4.tar.gz
tar xvzf 4.9.4.tar.gz
cd nco-4.9.4
./configure --prefix=/usr/local
make
sudo make install
export PATH=/usr/local/bin\:${PATH}
export LD_LIBRARY_PATH=/usr/local/lib\:${LD_LIBRARY_PATH}

但是当我运行./configure --prefix=/usr/local时,我被告知

checking for /opt/local/include/netcdf.h... no
checking for /opt/local/lib/libnetcdf.a... no
checking netcdf.h usability... no
checking netcdf.h presence... no
checking for netcdf.h... no
configure: error: in `/home/xushan/nco-4.6.3':
configure: error: cannot find netCDF header
See `config.log' for more details

那么有没有人可以帮助我?非常感谢! (问题是我找不到libnetcdf.so.7的位置……我是在远程服务器上编译某些东西的初学者...。特别是普通用户禁止使用soda和yum...。)

解决方法

您可以为conda创建一个新的nco环境。其依赖性可能与您当前环境中的某些程序冲突。

conda create -n myenv -c conda-forge python=3 nco
conda activate myenv
ncap2

更新20200914:针对以下后续评论,请理解Conda只是NCO的不错的安装程序,并确保您将所有依赖项和库放在一个地方。。只要Conda bin和lib dirs在您的路径中排在首位,无论是否在Bash脚本内,安装Conda的NCO都可以正常工作。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?