Ubuntu 安装libjpeg-dev 时报错

1. 问题

工作需要安装libjpeg-dev,出现如下错误:

syberos@thinkpad-p15v-1:~/work$ sudo apt-get install libjpeg-dev
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是
因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
包尚未被创建或是它们已被从新到(Incoming)目录移出。
下列信息可能会对解决问题有所帮助:

下列软件包有未满足的依赖关系:
 libjpeg-dev : 依赖: libjpeg8-dev 但是它将不会被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

2. 分析和解决问题

查找资料后确认是有其他软件依赖其他版本库. 继续尝试安装他的依赖libjpeg8-dev:

syberos@thinkpad-p15v-1:~/work$ sudo apt-get install libjpeg8-dev
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是
因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
包尚未被创建或是它们已被从新到(Incoming)目录移出。
下列信息可能会对解决问题有所帮助:

下列软件包有未满足的依赖关系:
 libjpeg8-dev : 依赖: libjpeg-turbo8-dev (>= 1.1.90+svn722-1ubuntu6) 但是它将不会被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

看到下面就有提示信息了, libjpeg8-dev : 依赖 libjpeg-turbo8-dev ,且版本不对,再尝试安装libjpeg-turbo8-dev:

syberos@thinkpad-p15v-1:~/work$ sudo apt-get install libjpeg-turbo8-dev
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是
因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
包尚未被创建或是它们已被从新到(Incoming)目录移出。
下列信息可能会对解决问题有所帮助:
1.5.2-0ubuntu5.18.04.4 
下列软件包有未满足的依赖关系:
 libjpeg-turbo8-dev : 依赖: libjpeg-turbo8 (= 1.4.2-0ubuntu3.4) 但是 1.5.2-0ubuntu5.18.04.4 正要被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

这样就看出了, 我们已经安装了 ibjpeg-turbo8 1.5.2-0ubuntu5.18.04.4 这个版本,但是 libjpeg-turbo8-dev 库依赖的是libjpeg-turbo8 = 1.4.2-0ubuntu3.4这版本,所以接下来安装libjpeg-turbo8 = 1.4.2-0ubuntu3.4版本的 libjpeg-turbo8库就可以了:

syberos@thinkpad-p15v-1:~/work$ sudo apt-get install  libjpeg-turbo8=1.4.2-0ubuntu3.4
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
下列软件包是自动安装的并且现在不需要了:
  aptitude-common libboost-iostreams1.58.0 libcwidget3v5 libsigc++-2.0-0v5 libxapian22v5
使用'sudo apt autoremove'来卸载它(它们)。
下列软件包将被【降级】:
  libjpeg-turbo8
升级了 0 个软件包,新安装了 0 个软件包,降级了 1 个软件包,要卸载 0 个软件包,有 11 个软件包未被升级。
需要下载 111 kB 的归档。
解压缩后将会空出 61.4 kB 的空间。
您希望继续执行吗? [Y/n] y
获取:1 http://mirrors.aliyun.com/ubuntu xenial-updates/main amd64 libjpeg-turbo8 amd64 1.4.2-0ubuntu3.4 [111 kB]
已下载 111 kB,耗时 0(332 kB/s)     
debconf: 因为并未安装 apt-utils,所以软件包的设定过程将被推迟
dpkg: 警告: 即将把 libjpeg-turbo8:amd64 从 1.5.2-0ubuntu5.18.04.4 降级到 1.4.2-0ubuntu3.4
(正在读取数据库 ... 系统当前共安装有 267777 个文件和目录。)
正准备解包 .../libjpeg-turbo8_1.4.2-0ubuntu3.4_amd64.deb  ...
正在将 libjpeg-turbo8:amd64 (1.4.2-0ubuntu3.4) 解包到 (1.5.2-0ubuntu5.18.04.4)...
正在设置 libjpeg-turbo8:amd64 (1.4.2-0ubuntu3.4) ...
正在处理用于 libc-bin (2.27-3ubuntu1.2) 的触发器 ...

接着安装:

syberos@thinkpad-p15v-1:~/work$ sudo apt-get install libjpeg-turbo8-dev
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
下列软件包是自动安装的并且现在不需要了:
  aptitude-common libboost-iostreams1.58.0 libcwidget3v5 libsigc++-2.0-0v5 libxapian22v5
使用'sudo apt autoremove'来卸载它(它们)。
下列【新】软件包将被安装:
  libjpeg-turbo8-dev
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 11 个软件包未被升级。
需要下载 254 kB 的归档。
解压缩后会消耗 1,418 kB 的额外空间。
获取:1 http://mirrors.aliyun.com/ubuntu xenial-updates/main amd64 libjpeg-turbo8-dev amd64 1.4.2-0ubuntu3.4 [254 kB]
已下载 254 kB,耗时 2(158 kB/s)          
debconf: 因为并未安装 apt-utils,所以软件包的设定过程将被推迟
正在选中未选择的软件包 libjpeg-turbo8-dev:amd64。
(正在读取数据库 ... 系统当前共安装有 267777 个文件和目录。)
正准备解包 .../libjpeg-turbo8-dev_1.4.2-0ubuntu3.4_amd64.deb  ...
正在解包 libjpeg-turbo8-dev:amd64 (1.4.2-0ubuntu3.4) ...
正在设置 libjpeg-turbo8-dev:amd64 (1.4.2-0ubuntu3.4) ...

最后安装 libjpeg-dev就可以了, 管理器会自动安装依赖 libjpeg8-dev, 如下图:

syberos@thinkpad-p15v-1:~/work/$ sudo apt-get install libjpeg-dev
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
下列软件包是自动安装的并且现在不需要了:
  aptitude-common libboost-iostreams1.58.0 libcwidget3v5 libsigc++-2.0-0v5 libxapian22v5
使用'sudo apt autoremove'来卸载它(它们)。
将会同时安装下列软件:
  libjpeg8-dev
下列【新】软件包将被安装:
  libjpeg-dev libjpeg8-dev
升级了 0 个软件包,新安装了 2 个软件包,要卸载 0 个软件包,有 11 个软件包未被升级。
需要下载 3,098 B 的归档。
解压缩后会消耗 53.2 kB 的额外空间。
您希望继续执行吗? [Y/n] y
获取:1 http://mirrors.aliyun.com/ubuntu xenial/main amd64 libjpeg8-dev amd64 8c-2ubuntu8 [1,552 B]
获取:2 http://mirrors.aliyun.com/ubuntu xenial/main amd64 libjpeg-dev amd64 8c-2ubuntu8 [1,546 B]
已下载 3,098 B,耗时 0(17.1 kB/s)    
debconf: 因为并未安装 apt-utils,所以软件包的设定过程将被推迟
正在选中未选择的软件包 libjpeg8-dev:amd64。
(正在读取数据库 ... 系统当前共安装有 267794 个文件和目录。)
正准备解包 .../libjpeg8-dev_8c-2ubuntu8_amd64.deb  ...
正在解包 libjpeg8-dev:amd64 (8c-2ubuntu8) ...
正在选中未选择的软件包 libjpeg-dev:amd64。
正准备解包 .../libjpeg-dev_8c-2ubuntu8_amd64.deb  ...
正在解包 libjpeg-dev:amd64 (8c-2ubuntu8) ...
正在设置 libjpeg8-dev:amd64 (8c-2ubuntu8) ...
正在设置 libjpeg-dev:amd64 (8c-2ubuntu8) ...

至此,我们就解决了这个问题了,.

3. 总结

下列软件包有未满足的依赖关系:
libjpeg-dev : 依赖: libjpeg8-dev 但是它将不会被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
类似依赖问题,应该就是软件版本不对导致依赖不能安装,找到对应依赖库的版本,就可以正常安装了.

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 要在Linux安装libjpeg,您可以按照以下步骤进行操作: 1. 打开终端并使用以下命令更新软件包列表: ``` sudo apt-get update ``` 2. 安装libjpeg开发库和运行库: ``` sudo apt-get install libjpeg-dev libjpeg62 ``` 3. 您可以检查libjpeg是否已正确安装: ``` dpkg -s libjpeg62 ``` 如果在终端中看到“状态:已安装”,则表示已成功安装libjpeg。 希望这可以帮助您安装libjpeg。 ### 回答2: 要在Linux安装libjpeg,可以按照以下步骤进行操作: 1. 首先,打开终端并以root用户身份登录。 2. 使用包管理工具来安装libjpeg。在大部分Linux发行版中,可以使用以下命令安装libjpeg: - 对于Debian或Ubuntu系统:sudo apt-get install libjpeg-dev - 对于CentOS或Fedora系统:sudo yum install libjpeg-devel 3. 安装完毕后,您可以在系统中找到libjpeg的库文件和头文件。 4. 如果您需要在开发中使用libjpeg,您需要链接libjpeg库文件。在编译加入以下参数: - 如果使用GCC编译器: gcc -o output_file input_file.c -ljpeg - 如果使用CMake来构建项目: 在CMakeLists.txt中添加以下内容: find_package(JPEG REQUIRED) target_link_libraries(your_project_name JPEG::JPEG) 5. 现在,您可以在您的程序中包含libjpeg的头文件(通常是jpeglib.h),以及使用libjpeg提供的功能。 希望这些步骤可以帮助您成功地在Linux安装libjpeg。如果您遇到任何问题,可以在相关的Linux社区论坛或开发者论坛上寻求帮助。 ### 回答3: 在Linux安装libjpeg,可以按照以下步骤进行操作: 第一步,打开终端窗口,在命令行中输入以下命令以安装libjpeg的开发包: ``` sudo apt-get install libjpeg-dev ``` 这将从软件包管理器中下载并安装libjpeg的开发包。 第二步,安装完成后,可以使用以下命令来检查libjpeg是否已成功安装: ``` dpkg -s libjpeg-dev ``` 如果显示了与libjpeg-dev软件包相关的信息,表示安装已成功。 第三步,如果需要在编译某个程序使用libjpeg库,可以在编译命令中加入以下参数: ``` -ljpeg ``` 例如,编译一个名为example.c的C程序,并使用libjpeg库可以执行以下命令: ``` gcc example.c -o example -ljpeg ``` 另外,也可以从libjpeg的官方网站(http://libjpeg.sourceforge.net/)上下载源代码包,并按照编译源代码的方式进行安装。但是在大多数Linux发行版中,使用软件包管理器进行安装更加简单和推荐。 总结一下,安装libjpeg可以通过使用软件包管理器来安装相关的开发包,也可以从源代码包编译安装。使用libjpeg,需要在编译命令中指定相关参数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值