Debian で次のコマンドを実行すると、
apt-get install libsdl2-dev
エラーが発生しました。
The following packages have unmet dependencies:
libsdl2-dev : Depends: libegl1-mesa-dev but it is not going to be installed
Depends: libgl1-mesa-dev but it is not going to be installed
Depends: libgles2-mesa-dev but it is not going to be installed
Depends: libglu1-mesa-dev but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
昨日はシステムをインストールしましたが、あまり多くのことはしませんでした。私は努力apt-get -f install
しましたapt autoclean
。
これが私が持っているすべてです/etc/apt/sources.list
:
deb http://ftp.de.debian.org/debian/ stretch main contrib non-free
deb-src http://ftp.de.debian.org/debian/ stretch main contrib non-free
deb http://security.debian.org/debian-security stretch/updates main contrib non-free
deb-src http://security.debian.org/debian-security stretch/updates main contrib non-free
# stretch-updates, previously known as 'volatile'
deb http://ftp.de.debian.org/debian/ stretch-updates main contrib non-free
deb-src http://ftp.de.debian.org/debian/ stretch-updates main contrib non-free
#stretch-backports
deb http://httpredir.debian.org/debian stretch-backports main contrib non-free
deb http://ftp.debian.org/debian stretch-backports main
スティーブンの編集者:
root@debian:/home/kiryu# apt -o Debug::pkgProblemResolver=yes install libsdl2-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
Starting pkgProblemResolver with broken count: 2
Starting 2 pkgProblemResolver with broken count: 2
Investigating (0) libsdl2-dev:amd64 < none -> 2.0.5+dfsg1-2 @un puN Ib >
Broken libsdl2-dev:amd64 Depends on libegl1-mesa-dev:amd64 < none | 13.0.6-1+b2 @un uH >
Considering libegl1-mesa-dev:amd64 1 as a solution to libsdl2-dev:amd64 9999
Reinst Failed early because of libegl1-mesa:amd64
Considering libegl1-mesa-dev:amd64 1 as a solution to libsdl2-dev:amd64 9999
Broken libsdl2-dev:amd64 Depends on libgl1-mesa-dev:amd64 < none | 13.0.6-1+b2 @un uH >
Considering libgl1-mesa-dev:amd64 2 as a solution to libsdl2-dev:amd64 9999
Reinst Failed early because of libdrm2:amd64
Reinst Failed because of libdrm-dev:amd64
Reinst Failed because of mesa-common-dev:amd64
Considering libgl1-mesa-dev:amd64 2 as a solution to libsdl2-dev:amd64 9999
Broken libsdl2-dev:amd64 Depends on libgles2-mesa-dev:amd64 < none | 13.0.6-1+b2 @un uH >
Considering libgles2-mesa-dev:amd64 1 as a solution to libsdl2-dev:amd64 9999
Reinst Failed early because of libgles2-mesa:amd64
Considering libgles2-mesa-dev:amd64 1 as a solution to libsdl2-dev:amd64 9999
Investigating (0) libglu1-mesa-dev:amd64 < none -> 9.0.0-2.1 @un uN Ib >
Broken libglu1-mesa-dev:amd64 Depends on libgl1-mesa-dev:amd64 < none | 13.0.6-1+b2 @un uH >
Considering libgl1-mesa-dev:amd64 2 as a solution to libglu1-mesa-dev:amd64 0
Holding Back libglu1-mesa-dev:amd64 rather than change libgl1-mesa-dev:amd64
Broken libglu1-mesa-dev:amd64 Depends on libgl-dev:amd64 < none @un H >
Considering libgl1-mesa-dev:amd64 2 as a solution to libglu1-mesa-dev:amd64 0
Holding Back libglu1-mesa-dev:amd64 rather than change libgl-dev:amd64
Or group keep for libglu1-mesa-dev:amd64
Investigating (1) libsdl2-dev:amd64 < none -> 2.0.5+dfsg1-2 @un puN Ib >
Broken libsdl2-dev:amd64 Depends on libegl1-mesa-dev:amd64 < none | 13.0.6-1+b2 @un uH >
Considering libegl1-mesa-dev:amd64 1 as a solution to libsdl2-dev:amd64 9999
Considering libegl1-mesa-dev:amd64 1 as a solution to libsdl2-dev:amd64 9999
Broken libsdl2-dev:amd64 Depends on libgl1-mesa-dev:amd64 < none | 13.0.6-1+b2 @un uH >
Considering libgl1-mesa-dev:amd64 2 as a solution to libsdl2-dev:amd64 9999
Considering libgl1-mesa-dev:amd64 2 as a solution to libsdl2-dev:amd64 9999
Broken libsdl2-dev:amd64 Depends on libgles2-mesa-dev:amd64 < none | 13.0.6-1+b2 @un uH >
Considering libgles2-mesa-dev:amd64 1 as a solution to libsdl2-dev:amd64 9999
Considering libgles2-mesa-dev:amd64 1 as a solution to libsdl2-dev:amd64 9999
Broken libsdl2-dev:amd64 Depends on libglu1-mesa-dev:amd64 < none | 9.0.0-2.1 @un uH >
Considering libglu1-mesa-dev:amd64 0 as a solution to libsdl2-dev:amd64 9999
Reinst Failed because of libgl1-mesa-dev:amd64
Reinst Failed because of libgl1-mesa-dev:amd64
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: libegl1-mesa-dev but it is not going to be installed
Depends: libgl1-mesa-dev but it is not going to be installed
Depends: libgles2-mesa-dev but it is not going to be installed
Depends: libglu1-mesa-dev but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
編集:と入力すると、apt install -t stretch-backports 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:
udev : Breaks: systemd (< 233-4)
Breaks: systemd:i386 (< 233-4)
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
編集する:
root@debian:/home/kiryu# dpkg -l | grep i386
ii gcc-6-base:i386 6.3.0-18+deb9u1 i386 GCC, the GNU Compiler Collection (base package)
ii libbsd0:i386 0.8.3-1 i386 utility functions from BSD systems - shared library
ii libc6:i386 2.24-11+deb9u3 i386 GNU C Library: Shared libraries
ii libc6-i386 2.24-11+deb9u3 amd64 GNU C Library: 32-bit shared libraries for AMD64
ii libgcc1:i386 1:6.3.0-18+deb9u1 i386 GCC support library
ii libx11-6:i386 2:1.6.4-3 i386 X11 client-side library
ii libxau6:i386 1:1.0.8-1 i386 X11 authorisation library
ii libxcb1:i386 1.12-1 i386 X C Binding
ii libxdmcp6:i386 1:1.1.2-3 i386 X11 Display Manager Control Protocol library
答え1
libgles2-mesa-dev
以下を使用してインストールしようとすると、まさにその理由です。
sudo apt install libgles2-mesa-dev
入手できるもの:次のパッケージには満たされていない依存関係があります。
libgles2-mesa-dev : Depends: libgles2-mesa (= 13.0.6-1+b2) but 18.1.9-1~bpo9+1 is to be installed
Depends: libegl1-mesa-dev but it is not going to be installed
最新のメサをインストールしようとすると、32ビットスチームがクラッシュし、メサを構築するにはsidパッケージをインストールする必要があります。
まず、この問題を解決するには、SDL2のバグを報告する必要があります。そうすることをお勧めします。