我正在运行 Ubuntu 16.04 并且我试图安装 libsdl2-dev 失败。我已经搜索过谷歌并在这个网站上关注了几个答案等等。我试图将我的存储库减少到安全的存储库,运行 apt-get update、apt-get upgrade .. 以及我现在记不清了的许多其他事情。我已经尝试了所有我能在谷歌上找到的东西。这是我得到的输出
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.
Run Code Online (Sandbox Code Playgroud)
和
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
Run Code Online (Sandbox Code Playgroud)
和
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
Run Code Online (Sandbox Code Playgroud)
我也试过
y-ppa-manager
Run Code Online (Sandbox Code Playgroud)
和
synaptic
Run Code Online (Sandbox Code Playgroud)
当我尝试使用突触安装 libsdl2-dev 时,首先没有损坏的包,但是当我标记 libsdl2-dev 进行安装时,它说我必须首先删除损坏的包。我试图 apt-get remove --purge libsdl2-dev 但由于它没有安装,所以无法删除。
我感谢任何和所有的帮助。谢谢你。我发布了您给我的命令的输出,并将在此问题上保持活跃,直到它得到解决。再次感谢你
编辑 1:
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.
Run Code Online (Sandbox Code Playgroud)
和
sudo apt-get install 229-4ubuntu6
E: Unable to locate package 229-4ubuntu6
Run Code Online (Sandbox Code Playgroud)
和
sudo apt-get install libudev1
libudev1 is already the newest version (229-4ubuntu6).
Run Code Online (Sandbox Code Playgroud)
编辑2:
对于命令
sudo add-apt-repository XXXXX
Run Code Online (Sandbox Code Playgroud)
我总是得到
XXXXX distribution component is already enabled for all sources.
Run Code Online (Sandbox Code Playgroud)
其余如下
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.
Run Code Online (Sandbox Code Playgroud)
最终编辑:
此问题现已解决。我的解决方案的最后一步是启用 xenial-security 和 xenial-update 存储库。在我这样做并尝试了 sudo apt-get update 和 sudo apt-get upgrade 之后,我在下载一些更新时遇到了一些错误。在此之后,我将下载服务器更改为主服务器并重新运行更新和升级,成功完成。在此之后,我成功安装了 libsdl2-dev。感谢 doug 和 ali76 的帮助!
不要尝试这个命令:
sudo apt-get install 229-4ubuntu6
E:无法找到软件包 229-4ubuntu6
因为存储库中没有任何具有229-4ubuntu6名称的包。
apt 输出显示
libudev1 (= 229-4ubuntu4) 但要安装 229-4ubuntu6
这意味着,该229-4ubuntu6版本libudev1已经安装,但该229-4ubuntu4版本是必需的。
其他的事情是,libudev1for的最后一个版本xenial是229-4ubuntu17但是你的 apt 返回的最后一个版本是229-4ubuntu6。发生此问题的原因是,您的系统上禁用了许多 Ubuntu 存储库,并且您的存储库未更新。
因此,作为第一步,我们尝试使用以下命令启用所有 Ubuntu 存储库:
sudo add-apt-repository main
sudo add-apt-repository universe
sudo add-apt-repository restricted
sudo add-apt-repository multiverse
Run Code Online (Sandbox Code Playgroud)
然后更新您的存储库和软件包:
sudo apt update
sudo apt upgrade
Run Code Online (Sandbox Code Playgroud)
然后尝试修复损坏的包:
sudo apt -f install
Run Code Online (Sandbox Code Playgroud)
最后一步尝试安装libsdl2-dev包:
sudo apt install libsdl2-dev
Run Code Online (Sandbox Code Playgroud)
更新:请将此行添加到您的/etc/apt/sources.list文件中:
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
Run Code Online (Sandbox Code Playgroud)
并评论这一行:
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
Run Code Online (Sandbox Code Playgroud)
然后尝试以下命令来更新存储库和包:
sudo apt update
sudo apt upgrade
Run Code Online (Sandbox Code Playgroud)
然后尝试再次安装:
sudo apt install libsdl2-dev
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8594 次 |
| 最近记录: |