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相关推荐

  1. ubuntu 22.04版本安装

    Ubuntu 22.04安装 1.学习环境下安装ubuntu 22.04版本. Linux:ubuntu 22.04. 学习环境:VMware虚拟机. 系统镜像:ubuntu 22.04. 2.开始安 ...

  2. Ubuntu 22.04 LTS下安装1030 GPU 的驱动(图文详解)

    文章目录 Ubuntu 22.04 LTS下安装1030 GPU 的驱动 法一:命令获取推荐驱动直接安装(简单有效) 1.检查你的操作系统,如下图: 2.查看是否有[GPU](https://so.c ...

  3. Ubuntu 22.04环境下安装lxr源码阅读器详细过程

    Ubuntu 22.04环境下安装lxr源码阅读器详细过程 一.lxr介绍 二.依赖关系 三.安装过程 1.下载源码 2.执行检查 3.安装依赖 4.安装数据库和服务器 四.配置过程 1.主配置 2. ...

  4. 如何在Ubuntu 22.04使用wine安装windows版本微信

    继上篇<如何在 Ubuntu 22.04 上安装 最新版本Wine>成功安装wine.使用以下命令安装: $ sudo dpkg --add-architecture i386 & ...

  5. Ubuntu 22.04中文输入法安装

    笔者尝试在ubutnu 22.04上安装主流的输入法软件,结果一一以失败告终.最后笔者尝试了fcitx5,发现蛮好用的.接下来一一列举笔者尝试的几种输入法: 1. 搜狗 (低版本ubuntu推荐) y ...

  6. ubuntu 21.04 版本上 安装 sqlcmd

    参考链接:https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup-tools?view=sql-server-ver15#u ...

  7. Ubuntu 22.04 LTS 入门安装配置优化、开发软件安装一条龙

    例行前言   最近在抉择手上空余的笔记本(X220 i7-2620M,Sk Hynix ddr3 8G*2 ,Samsung MINISATA 256G)拿来运行什么系统比较好,早年间我或许还会去继续 ...

  8. Ubuntu 18.04 版本中安装mysql 8的方法

    安装说明:用的是Ubuntu的麒麟版本18.04 版本最新的. 数据库:是MySQL Community Server 8.0.11 为什么不安装5.7 版本呢? 因为5.7版本的数据库,支持的最高版 ...

  9. Ubuntu 22 04 LTS gcc 安装失败

    刚装Ubuntu,安装过程中选择的最小安装. 接着安装gcc时失败:提示, "正在读取软件包列表- 完成 正在分析软件包的依赖关系树 正在读取状态信息- 完成 现在没有可用的软件包 gcc, ...

最新文章

  1. 小论Java类变量的隐私泄露
  2. do while(false)
  3. applicationSettings设置和appsttings
  4. android 自定义图片上传,android自定义ImageView仿图片上传(示例代码)
  5. asp.net下向数据库存储和读取图片示例
  6. 用Delphi写扬声器音乐
  7. sqlserver 如何把一列分为一行显示_SqlServer数据库如何快速修改表的一列值
  8. java导出下载文件_java导出excel及下载的实现-java下载文件
  9. Android技术分享| 【你画我猜】Android 快速实现
  10. c语言中m的ascii值,M的ASCII码值为多少
  11. c语言打印五角星图案解锁教程,[星星图案解锁设计教程]PS制作星星图案教程
  12. 记一次阿里电话面试(java技术岗)
  13. python saveas_如何使用Python SaveAs对话框
  14. 戴尔电脑开机卡logo无法开机问题及解决办法
  15. Python face_recognition 库人脸识别/匹配教程
  16. Android O版本power按键锁屏亮屏流程
  17. 微信小程序实例:开发showToast消息提示接口
  18. ECMWF ERA-interim数据下载——手动下载
  19. 机器学习基础 EM算法
  20. 内存数据库-H2简介与实践

热门文章

  1. 操作系统 页面置换算法模拟
  2. GTC之英伟达破局之举:机器人新战场和生态这步棋...
  3. js输出100以内的质数_JavaScript 斐波那契数列 倒序输出 输出100以内的质数代码实例...
  4. 用Python写一个自动关机程序
  5. 查看mysql数据库文件命令_MySQL 数据库常用命令
  6. BUG监测平台,Sentry 集成全过程。
  7. 牛逼!2020 全球开发者调查报告终于出来了!
  8. TLS/SSl相关的攻击漏洞及检测方法大杂烩!
  9. 03-官方种子项目,目录,文件介绍
  10. 【双符号位判决法】定点数上溢,下溢的判别