centOS7.9| 无root安装 openssl 1.1.1

这里写自定义目录标题

  • 0.先安装 gcc12
  • 1.下载和编译 openssl 1.1.1
  • 2. 让 pkg-config 能找到.pc文件

0.先安装 gcc12

见之前的博客: 无root编译安装 gcc12

1.下载和编译 openssl 1.1.1

  • https://www.openssl.org/source/
  • https://github.com/openssl/openssl/releases?page=3 (2024.4.23)
$ cd ~/Downloads/
$ wget https://github.com/openssl/openssl/releases/download/OpenSSL_1_1_1u/openssl-1.1.1u.tar.gz #下载失败
Or
$ wget https://www.openssl.org/source/openssl-1.1.1u.tar.gz$ tar -zxvf openssl-1.1.1u.tar.gz
$ cd openssl-1.1.1u/
$ ./config --prefix=/home/wangjl/.local/安装到独立文件夹不好,因为编译不好找到: $ rm -rf /home/wangjl/.local/lib/openssl-1.1.1u/
$ make -j16
$ make install

测试:

$ ~/.local/bin/openssl version
OpenSSL 1.1.1u  30 May 2023

配置

$ vim ~/.bashrc
#添加2行
export LD_LIBRARY_PATH=~/.local/lib/:$LD_LIBRARY_PATH
export PATH=$HOME/.local/bin:$PATH

测试2:

$ source ~/.bashrc
或者推出,重新登录系统。$ which openssl
~/.local/bin/openssl
$ openssl version
OpenSSL 1.1.1u  30 May 2023

2. 让 pkg-config 能找到.pc文件

$ pkg-config --cflags openssl #返回空行,说明编译时还是找不到

查看.pc文件:新增了前三个

$ ls -lth ~/.local/lib/pkgconfig/
total 2.5K
-rw-r--r--. 1 wangjl jinlab 301 Apr 23 12:06 libcrypto.pc
-rw-r--r--. 1 wangjl jinlab 280 Apr 23 12:06 libssl.pc
-rw-r--r--. 1 wangjl jinlab 234 Apr 23 12:06 openssl.pc
-rw-r--r--. 1 wangjl jinlab 337 Feb  3 21:45 libevent.pc
-rw-r--r--. 1 wangjl jinlab 382 Feb  3 21:45 libevent_pthreads.pc 

配置环境变量 PKG_CONFIG_PATH

$ vim ~/.bashrc
添加一行,指定.pc文件的位置
export PKG_CONFIG_PATH=~/.local/lib/pkgconfig:$PKG_CONFIG_PATH退出再次登录系统,测试:
$ pkg-config --cflags openssl
-I/home/wangjl/.local//include$ pkg-config --libs openssl
-L/home/wangjl/.local//lib -lssl -lcrypto

能找到了,说明可以编译安装 python3.10 了。

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

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

相关文章

重看Spring聚焦Environment分析

目录 一、理解Environment的设计 (一)整体理解 (二)聚焦Profiles分析 (三)聚焦Properties分析 二、Environment类图结构分析 三、PropertyResolver源码分析 (一)源码展示说明…

C语言学习/复习36

一、程序的环境与预处理 二、翻译环境与执行环境 三、运行环境 四、预编译(预处理)详解

【SpringBoot】92、SpringBoot中使用SSE实现服务端向客户端推送实时消息

在Spring Boot中整合Server-Sent Events (SSE) 是一种简单且有效的方法,用于实现服务器向客户端推送实时更新的功能。SSE 是一种服务器到客户端的单向通信协议,允许服务器推送消息到客户端,而不需要客户端发出请求。 1、添加依赖 首先,确保你的Spring Boot项目中已经包含…

mac电脑搭建vue环境(上篇)

第一步:mac电脑要有homebrew,如何安装homebrew 点击下方 MAC安装homebrew-CSDN博客 第二步:homebrew安装node.js 第三步:安装npm 第四步:安装webpack 第五步:安装vue脚手架 第六步:可以在…

大文件分片上传前端手写

此前介绍过,文件上传前端有造好的轮子可以方便使用,比如百度fex的webuploader。那么我们离开这些轮子,自己手写一个难不难呢?完成基本功能确实不难,但是要把方方面面的情况都考虑到,那可就不简单了。我们先…

NumPy 1.26 中文官方指南(一)

NumPy 用户指南 原文:numpy.org/doc/1.26/user/index.html 本指南是一个概述,解释了重要特性;细节请参阅 NumPy 参考文档。 入门指南 什么是 NumPy? 安装 NumPy 快速入门 NumPy:初学者的绝对基础 基础知识和用法 NumPy 基础…

工信部绿色工厂、绿色设计产品、绿色供应链企业、绿色园区名单数据集(2017-2022年)

01、数据简介 工信部致力于推动制造业的绿色转型,为了表彰在绿色制造领域取得显著成绩的企业和园区,工信部发布了绿色工厂公示名单、绿色设计产品公示名单、绿色供应链企业公示名单和绿色园区公示名单。 这些企业和园区在绿色制造方面做出了卓越的贡献…

MySQL__锁

文章目录 😊 作者:Lion J 💖 主页: https://blog.csdn.net/weixin_69252724 🎉 主题: MySQL__锁) ⏱️ 创作时间:2024年04月27日 ———————————————— 这里写目录…

刷题训练之前缀和

> 作者:დ旧言~ > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:熟练掌握前缀和算法。 > 毒鸡汤:学习,学习,再学习 ! 学,然后知不足。 > 专栏选自:刷题…

PCG 梯度共轭(加权的DCT相位展开)相位解包裹 matlab 过程解析-加权最小二乘相位展开技术

1.代码 % check if the weight has the same size as psiif (~all(size(weight) == size(psi)))error(Argument error: Size of the weight must be the same as size of the wrapped phase);end%论文(公式 15)中的矢量 b 为 dx 和 dy% vector b in the paper (eq 15) is dx…

【Hadoop】-HDFS的存储原理[4]

目录 前言 一、fsck命令 1、HDFS副本块数量的配置 2、fsck命令查看文件的副本数 3、block配置 二、NameNode元数据 1、edits文件 2、fsigame文件 3、NameNode元数据管理维护 4、元数据合并控制参数 5、SecondaryNameNode的作用 三、HDFS数据的读写流程 1、数据写入…

Pytorch 之torch.nn初探 卷积--Convolution Layers

任务描述 本关任务: 本关提供了一个Variable 类型的变量input,按照要求创建一 Conv1d变量conv,对input应用卷积操作并赋值给变量 output,并输出output 的大小。 相关知识 卷积的本质就是用卷积核的参数来提取原始数据的特征&a…

Java多线程批量处理数据

package com.demo.studydemo.test;import java.util.ArrayList; import java.util.List; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors;/*** 批量数据处理示例类。* 该类演示了如何通过多…

前端HTML5学习1(新增布局,状态,列表,文本,表单控件标签)

前端HTML5学习1(新增布局,状态,列表,文本,表单控件标签) 新增布局标签新增状态标签新增列表标签新增文本标签新增表单控件属性input新增属性值 新增布局标签 HTML5 引入了许多新的语义化标签,用…

【MySQL】A01、性能优化-参数监控分析

1、参数监控 1.1、MySQL command 查看 mysql>SHOW STATUS; (服务器状态变量,运行服务器的统计和状态指标) mysql> SHOW VARIABLES;(服务器系统变量,实际上使用的变量的值) mysql> SHOW STATUS …

SpringBoot---------Hutool

第一步&#xff1a;引入依赖 <dependency><groupId>cn.hutool</groupId><artifactId>hutool-parent</artifactId><version>5.7.17</version></dependency> 第二步&#xff1a;各种用法 ①生成随机数 //生成验证码 String s …

NDK 基础(二)—— C++ 语言基础与特性1

1、C 语言基础 本节主要还是了解一些 C 的基本用法以及与 C 语言的不同/改进之处。比如说&#xff0c;C 是面向对象的语言&#xff0c;C 是面向过程的语言。 1.1 Hello, C 熟悉 C 的标准 IO 库、命名空间以及基本的输入输出方法&#xff1a; // 导入 C 的标准输入输出库 #i…

Chapter 1-16. Introduction to Congestion in Storage Networks

Lack of Buffers for the Distance, Frame Size, and Speed of a Link In lossless networks, the required number of buffers on a port increase as the length of its link increases, the speed increases and the average frame size decreases. 在无损网络中,随着链路…

Linux磁盘管理与文件系统

目录 一.磁盘基础 磁盘结构 二.MBR 磁盘分区结构 三.文件系统类型 XFS文件系统 SWAP&#xff0c;交换文件系统 四.磁盘分区 linux系统添加并使用新硬盘的步骤 五 .创建文件系统 mkfs mkfs命令 挂载、卸载文件系统 挂载文件系统、ISO镜像到指定文件夹 ​编辑umount…