首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >由于未满足依赖关系,无法安装libsdl2-dev。

由于未满足依赖关系,无法安装libsdl2-dev。
EN

Ask Ubuntu用户
提问于 2017-05-31 20:40:27
回答 1查看 12K关注 0票数 8

我正在运行Ubuntu16.04,我试图安装libsdl2-dev,但没有成功。我已经搜索了谷歌,并在这个网站上跟踪了几个答案,等等。我试着将我的存储库简化为仅仅安全的存储库,运行了apt-获取更新,apt-get升级。还有很多其他的事情我现在都记不起来了。我试过了在谷歌上找到的所有东西。这是我得到的输出

代码语言:javascript
复制
sudo apt-get -f install libsdl2-dev

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
libsdl2-dev : Depends: libudev-dev but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

代码语言:javascript
复制
cat /etc/apt/sources.list
deb http://ftp.belnet.be/ubuntu.com/ubuntu/ xenial multiverse restricted universe main
deb-src http://ftp.belnet.be/ubuntu.com/ubuntu/ xenial multiverse restricted universe main #Added by software-properties

代码语言:javascript
复制
cat /etc/apt/sources.list.d/*

# deb http://ppa.launchpad.net/flexiondotorg/youtube-dl-gui/ubuntu xenial main

# deb-src http://ppa.launchpad.net/flexiondotorg/youtube-dl-gui/ubuntu xenial main

# deb http://ppa.launchpad.net/flexiondotorg/youtube-dl-gui/ubuntu xenial main

# deb-src http://ppa.launchpad.net/flexiondotorg/youtube-dl-gui/ubuntu xenial main

# deb http://deb.playonlinux.com/ trusty main

# deb http://deb.playonlinux.com/ trusty main

deb http://packages.ros.org/ros/ubuntu xenial main

# deb http://packages.ros.org/ros/ubuntu xenial main

# deb http://ppa.launchpad.net/v-launchpad-jochen-sprickerhof-de/pcl/ubuntu xenial main

# deb-src http://ppa.launchpad.net/v-launchpad-jochen-sprickerhof-de/pcl/ubuntu xenial main

# deb-src http://ppa.launchpad.net/v-launchpad-jochen-sprickerhof-de/pcl/ubuntu xenial main

# deb-src http://ppa.launchpad.net/v-launchpad-jochen-sprickerhof-de/pcl/ubuntu xenial main

# deb-src http://ppa.launchpad.net/v-launchpad-jochen-sprickerhof-de/pcl/ubuntu xenial main

# deb-src http://ppa.launchpad.net/v-launchpad-jochen-sprickerhof-de/pcl/ubuntu xenial main

# deb http://ppa.launchpad.net/v-launchpad-jochen-sprickerhof-de/pcl/ubuntu xenial main

# deb-src http://ppa.launchpad.net/v-launchpad-jochen-sprickerhof-de/pcl/ubuntu xenial main

# deb-src http://ppa.launchpad.net/v-launchpad-jochen-sprickerhof-de/pcl/ubuntu xenial main

# deb-src http://ppa.launchpad.net/v-launchpad-jochen-sprickerhof-de/pcl/ubuntu xenial main

# deb-src http://ppa.launchpad.net/v-launchpad-jochen-sprickerhof-de/pcl/ubuntu xenial main

# deb-src http://ppa.launchpad.net/v-launchpad-jochen-sprickerhof-de/pcl/ubuntu xenial main

# deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main

# deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main

# deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main

# deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main

deb http://ppa.launchpad.net/webupd8team/y-ppa-manager/ubuntu xenial main

# deb-src http://ppa.launchpad.net/webupd8team/y-ppa-manager/ubuntu xenial main

deb http://ppa.launchpad.net/webupd8team/y-ppa-manager/ubuntu xenial main

# deb-src http://ppa.launchpad.net/webupd8team/y-ppa-manager/ubuntu xenial main

我也试过

代码语言:javascript
复制
y-ppa-manager

代码语言:javascript
复制
synaptic

当我尝试使用synaptic安装libsdl2-dev时,首先没有坏包,但是当我标记libsdl2-dev安装时,它说我必须首先删除损坏的包。我尝试过apt-获取、删除--清除libsdl2-dev,但是由于它没有安装,所以不能删除。

我感谢所有的帮助。谢谢。我是post输出您给我的命令,并将保持活跃的这个问题,直到它可以解决。再次感谢你

编辑1:

代码语言:javascript
复制
sudo apt-get install libudev-dev

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libudev-dev : Depends: libudev1 (= 229-4ubuntu4) but 229-4ubuntu6 is to be installed
E: Unable to correct problems, you have held broken packages.

代码语言:javascript
复制
sudo apt-get install 229-4ubuntu6
E: Unable to locate package 229-4ubuntu6

代码语言:javascript
复制
sudo apt-get install libudev1
libudev1 is already the newest version (229-4ubuntu6).

编辑2:

对于命令

代码语言:javascript
复制
 sudo add-apt-repository XXXXX

我总是

代码语言:javascript
复制
XXXXX distribution component is already enabled for all sources.

其余部分如下

代码语言:javascript
复制
sudo apt update
Hit:1 http://ppa.launchpad.net/webupd8team/y-ppa-manager/ubuntu xenial InRelease
Hit:2 http://packages.ros.org/ros/ubuntu xenial InRelease                      
Hit:3 http://ftp.belnet.be/ubuntu.com/ubuntu xenial InRelease                  
Reading package lists... Done                         
Building dependency tree       
Reading state information... Done
All packages are up to date.

sudo apt upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

sudo apt -f install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

sudo apt install libsdl2-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libsdl2-dev : Depends: libudev-dev but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

最后编辑:

这个问题现在已经解决了。我的解决方案的最终步骤是启用异种安全和异种更新回购。在我这样做之后,尝试了sudo After更新和sudo After升级,我在下载一些更新时遇到了错误。在此之后,我将下载服务器更改为主服务器,并重新运行更新和升级,成功地完成了更新和升级。在此之后,我成功地安装了libsdl2-dev。感谢道格和ali76的帮助!

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2017-05-31 21:25:53

不要尝试以下命令:

sudo apt-get install 229-4 ubuntu6 E:无法找到包229-4 ubuntu6

因为在存储库中没有任何带有229-4ubuntu6名称的包。

apt输出显示

libudev1 (= 229-4ubuntu4),但要安装229-4ubuntu 6

这意味着,229-4ubuntu6版本的libudev1已经安装,但229-4ubuntu4版本是必需的。

其他的事情是,libudev1 for xenial的最后一个版本是229-4ubuntu17,但是您的apt返回的最后一个版本是229-4ubuntu6。发生此问题的原因是,许多Ubuntu的存储库在您的系统上被禁用,并且您的存储库没有更新。

因此,作为第一步,我们尝试使用以下命令启用所有Ubuntu存储库:

代码语言:javascript
复制
sudo add-apt-repository main
sudo add-apt-repository universe
sudo add-apt-repository restricted
sudo add-apt-repository multiverse

然后更新您的存储库和包:

代码语言:javascript
复制
sudo apt update
sudo apt upgrade

然后尝试修复破损的包:

代码语言:javascript
复制
sudo apt -f install

在最后一步中,尝试安装libsdl2-dev包:

代码语言:javascript
复制
sudo apt install libsdl2-dev

更新:请将这一行添加到您的/etc/apt/sources.list文件中:

代码语言:javascript
复制
deb http://archive.ubuntu.com/ubuntu xenial universe multiverse
deb-src http://archive.ubuntu.com/ubuntu xenial universe multiverse

deb http://us.archive.ubuntu.com/ubuntu/ xenial universe
deb-src http://us.archive.ubuntu.com/ubuntu/ xenial universe
deb http://us.archive.ubuntu.com/ubuntu/ xenial-updates universe
deb-src http://us.archive.ubuntu.com/ubuntu/ xenial-updates universe

deb http://us.archive.ubuntu.com/ubuntu/ xenial multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ xenial multiverse
deb http://us.archive.ubuntu.com/ubuntu/ xenial-updates multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ xenial-updates multiverse

deb http://security.ubuntu.com/ubuntu xenial-security universe
deb-src http://security.ubuntu.com/ubuntu xenial-security universe
deb http://security.ubuntu.com/ubuntu xenial-security multiverse
deb-src http://security.ubuntu.com/ubuntu xenial-security multiverse

并评论这句话:

代码语言:javascript
复制
deb http://ftp.belnet.be/ubuntu.com/ubuntu/ xenial multiverse restricted universe main
deb-src http://ftp.belnet.be/ubuntu.com/ubuntu/ xenial multiverse restricted universe main #Added by software-properties

然后尝试使用以下命令更新存储库和包:

代码语言:javascript
复制
sudo apt update
sudo apt upgrade

然后再试着安装:

代码语言:javascript
复制
sudo apt install libsdl2-dev
票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/920866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档