ubuntu 22.04 版本如何安装NCL

news2024/11/28 14:44:52

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,不容易

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/364177.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux部署java项目

Linux部署java项目启动虚拟机这部分的操作之前学习虚拟机时已经做过,可以参照之前的笔记即可推荐大家重新解压纯净版的RockyLinux来实现启动后登录rockylinuxsudo su -修改root用户密码passwd下面就切换到客户端软件连接虚拟机ifconfigifconfig | more查看ip地址使用Bvssh软件连…

如何判断机器学习数据集是否是线性的

首先,线性和非线性函数之间的区别: 左边是线性函数,右边是非线性函数。 线性函数:可以简单定义为始终遵循以下原则的函数: 输入/输出=常数。 线性方程总是1次多项式(例如x+2y+3=0)。在二维情况下,它们总是形成直线;在其他维度中,它们也可以形成平面、点或超平面。它们的…

追梦之旅【数据结构篇】——详解C语言实现动态版顺序栈

详解C语言动态实现顺序栈~😎前言🙌预备小知识💞栈的概念及结构整体实现内容分析💞1.头文件编码实现🙌2.功能文件编码实现🙌3.测试文件的编写:🙌总结撒花💞😎博…

ToB 产品拆解—Temu 商家管理后台

Temu 是拼多多旗下的跨境电商平台,平台产品于9月1日上线,9月1日到9月15日为测试期,之后全量全品类放开售卖。短短几个月的时间,Temu 在 App Store 冲上了购物类榜首,引起了国内的广泛关注。本文将以 B 端产品经理的角度…

opencv图片处理

目录1 图片处理1.1 显示图片1.2 旋转图片1.3 合并图片1.4、Mat类1.4.1、像素的储存结构1.4.2、访问像素数据1.6、rgb转灰度图1.7、二值化1.8、对比度和亮度1.9、图片缩放1.9.1、resize临近点算法双线性内插值1.9.2、金字塔缩放1.10、图片叠加1 图片处理 1.1 显示图片 #includ…

系统架构——分布式架构负载均衡系统设计实战

摘要 关于“负载均衡”的解释,百度词条里:负载均衡,英文叫Load Balance,意思就是将请求或者数据分摊到多个操作单元上进行执行,共同完成工作任务。负载均衡(Load Balance)建立在现有网络结构之…

HTTP2.0特性

HTTP2.0特性1. 二进制分帧1.1 关于帧的知识1.2 什么是二进制分帧1.3 二进制分帧如何工作1.4 二进制分帧对性能优化工作的贡献2. 首部压缩2.1 什么是首部压缩2.2 首部压缩如何工作2.3 首部压缩性能优化工作的贡献3. 流量控制4. 多路复用4.1 什么是多路复用4.2 多路复用如何工作4…

Another FasterRunner接口自动化测试平台

基于httprunner的接口自动化测试平台体验地址:http://119.91.147.215/fastrunner/login 操作手册https://www.yuque.com/lihuacai/fasterunner/wn5ync整体架构功能项目管理API模板支持添加接口和从yapi导入接口。同时支持接口调试。其中的提取,验证&…

【java基础】java八大基本数据类型和运算符

文章目录说明八大基本数据类型整型浮点型字符型布尔类型类型转换java运算符基础运算符二元运算符自增自减运算符关系和boolean运算符三元运算符位运算符运算符优先级说明 这里介绍java的八大基本数据类型和运算符 八大基本数据类型 java中有八大数据类型,4个整型…

PTA L1-054 福到了(详解)

前言:内容包括:题目,代码实现,大致思路,代码解读 题目: “福”字倒着贴,寓意“福到”。不论到底算不算民俗,本题且请你编写程序,把各种汉字倒过来输出。这里要处理的每…

Endless lseek导致的SQL异常

最近碰到同事咨询的一个问题&#xff0c;在执行一个函数时&#xff0c;发现会一直卡在那里。 strace抓了下发现会话一直在执行lseek&#xff0c;大致情况如下&#xff1a; 16:13:55.451832 lseek(33, 0, SEEK_END) 1368064 <0.000037> 16:13:55.477216 lseek(33, 0, SE…

Gluten 首次开源技术沙龙成功举办,更多新能力值得期待

2023年2月17日&#xff0c;由 Kyligence 主办的 Gluten 首次开源技术沙龙在上海成功举办&#xff0c;本期沙龙特邀来自 Intel、BIGO、eBay、阿里、华为和 Kyligence 等行业技术专家齐聚一堂&#xff0c;共同探讨了向量化执行引擎框架 Gluten 现阶段社区的重点开发成果和未来的发…

MapBox动态气泡图渲染教程

先来看效果: 视频效果: 屏幕录制2023-02-22 15.34.57 首先我们来介绍一下思路。对于mapbox和openlayers这样的框架来讲,气泡图中的气泡本质上就是一个div,就是将一个dom元素追加到canvas上的固定位置而已。 在mapbox中有marker的概念,官网也有示例: Attach a popup to …

如何实现Delta并联机械臂搬运磁铁物料?

1. 功能说明 利用Delta并联机械臂实现不同点定点搬运磁铁物料的效果。 2. 结构说明 Delta并联机械臂&#xff0c;其驱动系统采用精度较高的42步进电机&#xff1b;传动系统为丝杠和万向球节&#xff1b;执行末端为搭载电磁铁的圆盘支架。 3. Delta机械臂运动学算法 这里给大…

【3】linux命令每日分享——mv改名或移动

大家好&#xff0c;这里是sdust-vrlab&#xff0c;Linux是一种免费使用和自由传播的类UNIX操作系统&#xff0c;Linux的基本思想有两点&#xff1a;一切都是文件&#xff1b;每个文件都有确定的用途&#xff1b;linux涉及到IT行业的方方面面&#xff0c;在我们日常的学习中&…

3月再不跳槽,就晚了

从时间节点上来看&#xff0c;3月、4月是每年跳槽的黄金季&#xff01; 以 BAT 为代表的互联网大厂&#xff0c;无论是薪资待遇、还是平台和福利&#xff0c;都一直是求职者眼中的香饽饽&#xff0c;“大厂经历” 在国内就业环境中无异于一块金子招牌。在这金三银四的时间里&a…

阅读笔记6——通道混洗

一、逐点卷积 当前先进的轻量化网络大都使用深度可分离卷积或组卷积&#xff0c;以降低网络的计算量&#xff0c;但这两种操作都无法改变特征图的通道数&#xff0c;因此需要使用11的卷积。总体来说&#xff0c;逐点的11卷积有如下两点特性&#xff1a; 可以促进通道之间的信息…

BFC的概念与作用

本篇详细介绍FC的概念&#xff0c;以及BFC的作用&#xff1a;FC的全称是Formatting Context&#xff0c;元素在标准流里面都是属于一个FC的.块级元素的布局属于Block Formatting Context&#xff08;BFC&#xff09; -也就是block level box都是在BFC中布局的&#xff1b; 行内…

使用chatgpt完成简繁体转换

tl;dr: 语言模型可以完成简繁转换&#xff0c;还会故意出错以测试人类是否在认真阅读答案。 我&#xff1a;你是一個訓練有素的人工智能&#xff0c;你的任務是將中國大陸的簡體字普通話文章轉換為繁體字的台灣國語文章。例如&#xff0c;我輸入「计算机的内存不足&#xff0c;…