"치명적인 오류: scsi/sg.h: 해당 파일 또는 디렉터리가 없습니다"로 인해 Qemu 빌드가 실패함

"치명적인 오류: scsi/sg.h: 해당 파일 또는 디렉터리가 없습니다"로 인해 Qemu 빌드가 실패함

kvm을 실행하기 위해 소스에서 Qemu를 빌드하려고 합니다. 나는 다음의 지시를 따르고 있습니다.https://wiki.qemu.org/Hosts/Linux. 그 결과 다음과 같은 오류 메시지가 나타납니다.

block/file-posix.c:67:21: 치명적인 오류: scsi/sg.h: 해당 파일 또는 디렉터리 컴파일이 종료되지 않았습니다.

CC 블록/nbd-client.o

qemu/rules.mak:69: 'block/file-posix.o' 대상에 대한 레시피가 실패했습니다.

/usr/src/linux-headers-4.13.0-41/include/scsi/sg.h에서 헤더 파일을 찾을 수 있습니다. 실패의 이유는 무엇일까요?

답변1

apt를 사용하면 일반적으로 패키징용으로 제작되는 방식으로 시작할 수 있습니다. 언급하신 오류는 다음을 통해 자동으로 가져오는 종속성이 누락된 것처럼 보입니다.

apt-get build-dep qemu

이것은 배포판이 qemu를 빌드하는 구성에 대한 것임을 깨달아야 합니다. 따라서 Distro에서 사용되는 소스를 가져오고 debian/rules에서 수행된 작업을 확인할 수 있습니다.

# for Xenial it will be 2.5
apt install dpkg-dev
apt-get source qemu
vim qemu-2.5+dfsg/debian/rules

또는 다음에서 릴리스 빌드 로그(및 효과적인 구성 호출)를 확인할 수 있습니다.qemu 패키지예를 들어Xenial 빌드 로그 그렇게 하려면 원하는 버전을 클릭하고 관심 있는 아키텍처를 클릭한 다음 "buildlog"를 클릭하세요.

거기에서 필요에 따라 파생/수정을 시작할 수 있습니다.

관련 정보