crypt.h:No such file or directory 报错处理

news/2024/11/17 15:42:44/文章来源:https://www.cnblogs.com/hassle/p/18437045

crypt.h:No such file or directory 报错处理


前言:本文初编辑于2024年9月28日

CSDN主页:https://blog.csdn.net/rvdgdsva

博客园主页:https://www.cnblogs.com/hassle


大!萌!神!

crypt.h: No such file or directory” 这个错误提示意味着编译器在尝试编译代码时找不到名为 crypt.h 的头文件。 这个头文件通常包含了与加密相关的函数和定义,例如 crypt() 函数,用于单向加密密码。

有这样一篇文章:crypt.h:No such file or directory 亲测能够解决这个报错问题

文章里面有1、2、3步,但是第1步会报错如下

报错信息

apt install libcrypt报错如下:
E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13: Permission denied)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root?

这个问题出现的原因是您在运行 apt install 命令时没有足够的权限。apt 需要 root 权限才能安装软件包,因为它需要修改系统文件。错误信息 "are you root?" 也明确指出了这一点。

尝试

失败:加了sudo也有报错

sudo apt install libcrypt报错如下:
E: Unable to locate package libcrypt

libcrypt 软件包的名称可能在您的发行版中有所不同,或者该软件包已被弃用。遇到的错误 "E: Unable to locate package libcrypt" 表明 apt 找不到名为 libcrypt 的软件包。

失败:尝试了更换sources.list里面的源,又把上面的代码运行了一边还是报错。

解决方式

成功:尝试运行下面的代码就成功安装了,按照这篇文章做完第1步纠错的步骤之后,回到上面的文章做完第2、3步就行

sudo apt-get install libcrypt-dev

执行的命令 sudo apt-get install libcrypt-dev 成功的原因是,安装的是 libcrypt 库的开发文件,而不是库本身。libcrypt-dev 包含了编译使用 libcrypt 库的程序所需的标头文件和其他文件。

libcrypt 库通常是 libxcrypt 等更大软件包的一部分。libcrypt-dev 是一个单独的软件包,它为开发人员提供构建使用 libcrypt 库的应用程序所需的文件。

不过解决这个报错只需要开发文件就够了。

可选:如果需要 libcrypt 库本身,则需要安装适合发行版的相应软件包。例如,在 Ubuntu 20.04 及更高版本中,可以安装 libcrypt1 软件包:

sudo apt install libcrypt1

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

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

相关文章

深入理解 Nuxt.js 中的 app:error:cleared 钩子

title: 深入理解 Nuxt.js 中的 app:error:cleared 钩子 date: 2024/9/28 updated: 2024/9/28 author: cmdragon excerpt: Nuxt.js 中的 app:error:cleared 钩子的用途及其实现方式。这个钩子为开发者提供了一种优雅的方式来处理错误清除后的状态恢复和用户反馈。 categorie…

新手指南-新人入职-maven相关

一、前言 入职后,发现公司是用Maven对项目进行管理和构建。 一般来说,自己先确定以下几点: 1、公司对版本是否有要求。 2、是否要求IDEA对maven有特殊的配置。 3、确定自己的 MAVEN_HOME 系统环境是否配置。 4、确定maven中的setting.xml配置文件是否改成了公司要求。 Maven…

PARTV-Oracle实例架构-应用和网络架构

16. 应用和网络架构 16.1. Oracle应用架构 在本章的上下文中,应用架构指的是数据库应用程序连接到 Oracle 数据库的计算环境。 16.1.1. 客户端与服务端架构概述 在 Oracle 数据库环境中,数据库应用程序和数据库被分离成客户端/服务器架构:客户端运行数据库应用程序,例如 SQ…

AB plc设备数据 转profinet IO项目案例

VFBOX协议转换网关支持各种PLC,DLT645,modbus,HJ212,opc ua,opc da,IEC104,IEC61850,EthernetIP,Profinet IO,CCLink,EtherCAT,bacnet,DNP3目录 1 案例说明 1 2 VFBOX网关工作原理 1 3 准备工作 2 4 网关采集AB PLC数据 2 5 用PROFINET IO协议转发数据 4 6 案例总…

代码生成器实践总结

最近,又用我的脚本管理,写了一个代码生成器。 用在一个.net core Web MVC项目中,想要把原来的一些Area,拷贝替换表名。 业务上来说是:把推广模块,单独复制出一个推广-外部渠道的模块。专门给公司外部的推广人员用,但是不影响原来的功能。 本质结构代码生成器 = 模板 + 替…

【管理】销售管理到底应该怎么管?

销售是个数字游戏,销售管理的最终目的就是完成销售业绩。有人说销售管理是门艺术,有人说销售管理是科学。销售是一门艺术,但是可以通过科学的方式将这些艺术固化很多人对销售管理的认识存在很多不同,我们尝试用最为平时的语言总结一下销售管理到底应该管什么?到底怎么管?…

ES6箭头函数的使用

使用箭头函数的目的:引入箭头函数目的是更加更加简短的函数写法并且不绑定this,箭头函数的语法比函数表达式更加简洁 使用场景:箭头函数更加适用于哪些本来需要匿名函数的地方 定义语法:const fn = () => {}使用方式一:括号里面加形参// 箭头函数const fn = (x) => …

方法引用

方法引用 方法: 就是以前学过的方法. 引用: 就是把已有的方法拿过来用. 如何用: 当做函数式接口抽象方法的方法体. 总结: 方法引用就是把已经有的方法拿过来用, 当做函数式接口中抽象方法的方法体. 方法引用的条件:引用处必须是函数式接口.被引用的方法必须是已经存在的.被引用…

一次搞定30天账单,花了十分钟记账

一次搞定30天账单,花了十分钟记账 丑话在前:早出晚归忙奔波,挣钱如针挑土,花钱如水冲沙。挣一毛花十分,一分一厘不容易,开源节流铁公鸡。本教程适用于有复式记账基础的个人,由企业财务系统精简编制的模板,苹果设备 iphone\macbook 请使用 numbers 应用,或使用网页登录…

15 json常见操作与案例 序列化 反序列化

json:本质是一个特定结构的字符串 意义 :打通不同编程语言之间进行相互通信 时的数据格式问题。序列化(python数据类型 转换成 JSON格式化字符串)# python数据类型 转换成 JSON格式化字符串 序列化 import json # python数据类型 info = {"code": 1000, &quo…

16 JSON 爬虫【反序列化】豆瓣

# 没有安装 requests模块 ,需要安装此模块 pip3 install requests import json import requestsres=requests.get(url=https://movie.douban.com/j/search_subjects?type=tv&tag=%E7%83%AD%E9%97%A8&page_limit=50&page_start=0,headers={User-Agent:Mozilla/5.…

19 导入模块成员冲突 总结

成员和冲突 #如果导入的方法存在冲突时,进行取别名 import db as d1 from utils.db import db as d2 #也支持下面的方法导入 from utils.db import x1,x3,x3 from utils.db import * #此方式不推荐 def run():d1.f1()d1.f2()d2.xxx() if __name__ == "__main__":run…