이 문제는 사용자가 다음 문제를 해결하도록 돕는 동안 발생했습니다.Debian 기반 배포판에 필요한 메사 빌드 종속성은 무엇입니까?그리고Debian Wheezy에서 Mesa를 어떻게 백포트하나요?.
어떤 경우에는 Debian의 Mesa를 소스에서 빌드할 수 없습니다. 데비안 버그 보고서를 참조하세요:libdrm-nouveau1a: 2.4.33이라고 주장하지만 실제로는 0.6인 것 같습니다.. Wheezy Mesa 9.1.3-1(snapshot.debian.org에서)에서 이 빌드를 재현할 수 있었습니다. 다음과 같은 오류 메시지가 나타납니다.
checking for NOUVEAU... no
configure: error: Package requirements (libdrm_nouveau >= 2.4.33) were not
met:
Requested 'libdrm_nouveau >= 2.4.33' but version of libdrm_nouveau is 0.6
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables NOUVEAU_CFLAGS
and NOUVEAU_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
바라보다전체 로그는 gist.github.com에 있습니다..
여기서 무슨 일이 일어나고 있는지 잘 모르겠습니다. 버그 리포트에 '설명'이 있는데 이해가 안 돼요. 지금 바로:
이것은 debian libdrm 2.4.33 패키지의 버그가 아닙니다. libdrm git에서는 soname을 2로 변경하고 새 버전을 출시하지 않고 libdrm_nouveau.pc에서 버전을 0.6에서 2.4.33으로 내보냈습니다. 이제 Mesa에는 아직 출시되지 않은 최신 libdrm이 필요합니다. libdrm 2.4.33에서 libdrm_nouveau.pc의 버전은 0.6입니다.
http://cgit.freedesktop.org/mesa/drm/commit/?id=292da616fe1f936ca78a3fa8e1b1b19883e343b6 이 모든 일이 오늘 일어났습니다.
파일이 /usr/lib/x86_64-linux-gnu/pkgconfig/libdrm_nouveau.pc
내 시스템에 존재합니다. 이것은 pkg-config 파일입니다. 다음과 같은 내용이 있습니다.
prefix=/usr
exec_prefix=${prefix}
libdir=${prefix}/lib/x86_64-linux-gnu
includedir=${prefix}/include
Name: libdrm_nouveau
Description: Userspace interface to nouveau kernel DRM services
Version: 0.6
Libs: -L${libdir} -ldrm_nouveau
Cflags: -I${includedir} -I${includedir}/libdrm -I${includedir}/nouveau
Requires.private: libdrm
아마도
libdrm_nouveau
구성이 0.6 정보를 얻는 곳일 것입니다.
2.4.40-1~deb7u2
그러나 실제 값이 (Debian wheezy 기본값) 인데 왜 버전이 0.6으로 설정되어 있는지는 명확하지 않습니다 . 또한 현재 상황에서 이 문제를 해결하는 올바른 방법(wheeze에서 Mesa 0.9.3.1 빌드)이 무엇인지 잘 모르겠습니다.
Mesa를 (잠재적으로) 구축할 수 있었던 두 가지 명백한 변경 사항이 있습니다.
- 버전 번호를
/usr/lib/x86_64-linux-gnu/pkgconfig/libdrm_nouveau.pc
2.4.33 이상으로 변경하세요. - libdrm 버전 0.6을 허용하도록 Mesa 구성 스크립트를 변경합니다.
나는 두 가지 옵션 중 하나를 별로 좋아하지 않습니다. 전자의 경우, 나는 실행 중인 시스템을 망가뜨리는 것을 좋아하지 않습니다. 어떤 영향을 미칠지는 불분명합니다. 후자의 경우 어떤 영향을 미칠지 제대로 이해하지 못한 채 빌드 시스템을 변경하는 것도 좋지 않은 생각처럼 보입니다.
노트:Wheezy에서 오류를 재현하려면 다음을 수행할 수 있습니다.
- 가다http://snapshot.debian.org/package/mesa/9.1.3-1/
다운로드 파일:
mesa_9.1.3.orig.tar.gz
(wget -chttp://snapshot.debian.org/archive/debian/20130529T040126Z/pool/main/m/mesa/mesa_9.1.3.orig.tar.gz)mesa_9.1.3-1.diff.gz
(wget -chttp://snapshot.debian.org/archive/debian/20130529T040126Z/pool/main/m/mesa/mesa_9.1.3-1.diff.gz)mesa_9.1.3-1.dsc
(wget -chttp://snapshot.debian.org/archive/debian/20130529T040126Z/pool/main/m/mesa/mesa_9.1.3-1.dsc)
달리기
dpkg-source -x mesa_9.1.3-1.dsc
cd
소스 디렉토리를 입력meda-9.1.3
하고 실행하십시오.debuild -uc -us
누락된 빌드 종속성을 설치합니다.