Debian에 대한 종속성이 충족되지 않아 SDL2-Dev 설치 시도가 실패함

Debian에 대한 종속성이 충족되지 않아 SDL2-Dev 설치 시도가 실패함

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에 대한 버그를 보고해야 합니다. 그렇게 하시길 권장합니다.

관련 정보