ubuntu 22.04 版本如何安装NCL
ubuntu 22.04 版本如何安装NCL
- 最近,重新创建了一个linux子系统进行学习。在安装ncl的时候,出现了各种问题。特此记录一下解决的过程。
首先下载了NCL
的Linux版本的安装包,进行解压以及环境配置。但是在测试是否安装成功时,出现以下报错:
ncl -version
ncl: /lib/x86_64-linux-gnu/libcrypto.so.10: version `libcrypto.so.10' not found (required by ncl)
ncl: /lib/x86_64-linux-gnu/libssl.so.10: version `libssl.so.10' not found (required by ncl)
对于这两个问题,其实是比较好理解的,就是NCL运行的时候需要这两个东西,但是你安装完运行NCL时,并没有找到这两个东西。
一般的解决办法就是先查找一下你的系统有没有这两个文件,如果有的话最好了,直接建立一个软连接(ln -s)
将这两个东西链接上,告诉NCL你要找的东西我是有的,位置给你指定啦。
麻烦的点在于第二个,我这个电脑上没有这两个东西,,,纯属是第一次自己配置Linux 环境,很多依赖的库、环境啊都还没有提前装好。
在一番搜索后,发现了这两个东西主要是和一个叫做openssl
的软件相关,是安装openssl
这个软件时,自带的。
所以,也就是说:NCL 软件
所需的 OpenSSL 库
的版本没有安装在你的系统上。NCL
似乎正在寻找 OpenSSL 库的1.0版本
,而您的系统可能安装了不同的版本,或者根本没有安装该库
。
我仔细验证了一下,ubuntu 22.04这个版本上是自带安装了OpenSSL
的,但是不是1.0的版本,所以貌似看起来解决这个问题的关键就是要安装OpenSSL的1.0版本
。
例如,在 Ubuntu 上,可以运行命令 sudo apt-get install libssl1.0-dev
来安装库。如果已经安装了 OpenSSL 版本1.1或更高版本
,则可以创建指向所需库的符号链接,以便 NCL 可以找到它们。例如,在 Ubuntu 上,你可以运行以下命令:
sudo ln -s /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 /usr/lib/x86_64-linux-gnu/libcrypto.so.10
sudo ln -s /usr/lib/x86_64-linux-gnu/libssl.so.1.1 /usr/lib/x86_64-linux-gnu/libssl.so.10
1、安装OpenSSL 1.0 版本
打开终端并执行以下命令安装 libssl1.0-dev
:
sudo apt-get update
sudo apt-get install libssl1.0-dev
2、创建软链接
sudo ln -s /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 /usr/lib/x86_64-linux-gnu/libcrypto.so.10
sudo ln -s /usr/lib/x86_64-linux-gnu/libssl.so.1.1 /usr/lib/x86_64-linux-gnu/libssl.so.10
这将创建 libcrypto.so.10 和 libssl.so.10 两个软链接
,链接到当前系统中已经安装的 OpenSSL 1.1 版本库文件。
但是我这里还是出现报错了:
ln: failed to create symbolic link '/usr/lib/x86_64-linux-gnu/libcrypto.so.10': File exists
说明在执行创建软链接命令时,/usr/lib/x86_64-linux-gnu/
目录下已经存在一个名为 libcrypto.so.10
的文件或软链接了。
这里可以先确认一下 /usr/lib/x86_64-linux-gnu/
目录下是否已经有名为 libcrypto.so.10
的文件或软链接。如果是软链接,您可以考虑删除软链接,然后重新执行创建软链接的命令;如果是文件,您可以考虑备份或删除该文件,或者尝试在其他目录中创建软链接。
另外,您也可以尝试使用 -f
选项来强制创建软链接,即执行以下命令:
sudo ln -sf /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 /usr/lib/x86_64-linux-gnu/libcrypto.so.10
sudo ln -sf /usr/lib/x86_64-linux-gnu/libssl.so.1.1 /usr/lib/x86_64-linux-gnu/libssl.so.10
这将强制创建软链接并覆盖同名的文件或软链接。但是在使用 -f 选项时要小心,确保您不会覆盖重要的文件或软链接。
然后,又出现报错:
ncl: error while loading shared libraries: libssl.so.10: cannot open shared object file: No such file or directory
检查 OpenSSL 是否已经安装。
dpkg -l | grep openssl
我这里确实是显示安装成功了,感觉又回到了开始的问题。。。
删除OpenSSL
我在想是不是我的系统里又有ubuntu自带的,又有自己安装的,产生了冲突导致的。
所以,这里直接卸载了OpenSSL
:
sudo apt-get remove openssl
再重新安装一遍1.0
版本:
sudo apt-get update
sudo apt-get install libssl1.0-dev
更新动态链接库缓存:
sudo ldconfig
确认 OpenSSL 已经安装成功:
openssl version
确实是成功了,然后这回通过代码命令重新安装NCL
,这里注意到一点是NCL需要提前安装好一些依赖的软件包:
sudo apt-get install libnetcdf-dev libhdf5-dev libudunits2-dev libgeotiff-dev libproj-dev libfreetype6-dev libjpeg-dev libpng-dev libx11-dev libcairo2-dev
安装 NCL:
sudo apt-get install ncl-ncarg
确认安装成功:
ncl -V
终于看到了版本信息,这里就是成功安装NCL了。
mad,不容易
ubuntu 22.04 版本如何安装NCL相关推荐
- ubuntu 22.04版本安装
Ubuntu 22.04安装 1.学习环境下安装ubuntu 22.04版本. Linux:ubuntu 22.04. 学习环境:VMware虚拟机. 系统镜像:ubuntu 22.04. 2.开始安 ...
- Ubuntu 22.04 LTS下安装1030 GPU 的驱动(图文详解)
文章目录 Ubuntu 22.04 LTS下安装1030 GPU 的驱动 法一:命令获取推荐驱动直接安装(简单有效) 1.检查你的操作系统,如下图: 2.查看是否有[GPU](https://so.c ...
- Ubuntu 22.04环境下安装lxr源码阅读器详细过程
Ubuntu 22.04环境下安装lxr源码阅读器详细过程 一.lxr介绍 二.依赖关系 三.安装过程 1.下载源码 2.执行检查 3.安装依赖 4.安装数据库和服务器 四.配置过程 1.主配置 2. ...
- 如何在Ubuntu 22.04使用wine安装windows版本微信
继上篇<如何在 Ubuntu 22.04 上安装 最新版本Wine>成功安装wine.使用以下命令安装: $ sudo dpkg --add-architecture i386 & ...
- Ubuntu 22.04中文输入法安装
笔者尝试在ubutnu 22.04上安装主流的输入法软件,结果一一以失败告终.最后笔者尝试了fcitx5,发现蛮好用的.接下来一一列举笔者尝试的几种输入法: 1. 搜狗 (低版本ubuntu推荐) y ...
- ubuntu 21.04 版本上 安装 sqlcmd
参考链接:https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup-tools?view=sql-server-ver15#u ...
- Ubuntu 22.04 LTS 入门安装配置优化、开发软件安装一条龙
例行前言 最近在抉择手上空余的笔记本(X220 i7-2620M,Sk Hynix ddr3 8G*2 ,Samsung MINISATA 256G)拿来运行什么系统比较好,早年间我或许还会去继续 ...
- Ubuntu 18.04 版本中安装mysql 8的方法
安装说明:用的是Ubuntu的麒麟版本18.04 版本最新的. 数据库:是MySQL Community Server 8.0.11 为什么不安装5.7 版本呢? 因为5.7版本的数据库,支持的最高版 ...
- Ubuntu 22 04 LTS gcc 安装失败
刚装Ubuntu,安装过程中选择的最小安装. 接着安装gcc时失败:提示, "正在读取软件包列表- 完成 正在分析软件包的依赖关系树 正在读取状态信息- 完成 现在没有可用的软件包 gcc, ...
最新文章
- 小论Java类变量的隐私泄露
- do while(false)
- applicationSettings设置和appsttings
- android 自定义图片上传,android自定义ImageView仿图片上传(示例代码)
- asp.net下向数据库存储和读取图片示例
- 用Delphi写扬声器音乐
- sqlserver 如何把一列分为一行显示_SqlServer数据库如何快速修改表的一列值
- java导出下载文件_java导出excel及下载的实现-java下载文件
- Android技术分享| 【你画我猜】Android 快速实现
- c语言中m的ascii值,M的ASCII码值为多少
- c语言打印五角星图案解锁教程,[星星图案解锁设计教程]PS制作星星图案教程
- 记一次阿里电话面试(java技术岗)
- python saveas_如何使用Python SaveAs对话框
- 戴尔电脑开机卡logo无法开机问题及解决办法
- Python face_recognition 库人脸识别/匹配教程
- Android O版本power按键锁屏亮屏流程
- 微信小程序实例:开发showToast消息提示接口
- ECMWF ERA-interim数据下载——手动下载
- 机器学习基础 EM算法
- 内存数据库-H2简介与实践
热门文章
- 操作系统 页面置换算法模拟
- GTC之英伟达破局之举:机器人新战场和生态这步棋...
- js输出100以内的质数_JavaScript 斐波那契数列 倒序输出 输出100以内的质数代码实例...
- 用Python写一个自动关机程序
- 查看mysql数据库文件命令_MySQL 数据库常用命令
- BUG监测平台,Sentry 集成全过程。
- 牛逼!2020 全球开发者调查报告终于出来了!
- TLS/SSl相关的攻击漏洞及检测方法大杂烩!
- 03-官方种子项目,目录,文件介绍
- 【双符号位判决法】定点数上溢,下溢的判别