소스 rpm을 빌드하는 중: 오류: 아키텍처가 포함되지 않음: x86_64

소스 rpm을 빌드하는 중: 오류: 아키텍처가 포함되지 않음: x86_64

내가 빌드하려고 할 때소스 속도는 podman4.5 입니다.Alma Linux 8에서는 다음과 같은 결과를 얻습니다.

rpmbuild --rebuild ./podman-4.5.0-1.fc39.src.rpm 
Installing ./podman-4.5.0-1.fc39.src.rpm
warning: user mockbuild does not exist - using root
warning: group mock does not exist - using root
...
error: Architecture is not included: x86_64

이 문제를 어떻게 해결할 수 있나요?

오류: 아키텍처가 포함되지 않음: x86_64

내가 달리면

rpm -ivh ./podman-4.5.0-1.fc39.src.rpm

뛰어들어도 ~/rpmbuild/SPECS같은 오류가 발생할 수 있습니다.

rpmbuild -bp podman.spec 
error: Architecture is not included: x86_64

답변1

사양 파일 뒤에 있는 매크로를 확장하세요.

rpmspec -P ./podman.spec

다음과 같은 것을 본다면

Name: podman
Epoch: 5
Version: 4.5.0
License: Apache-2.0 and BSD-2-Clause and BSD-3-Clause and ISC and MIT and MPL-2.0
Release: 1.el8
ExclusiveArch: %{golang_arches_future}
...

또는 %이와 같은 것으로 시작하는 매크로는 %{golang_arches_future}문제의 징후입니다. 즉, 매크로가 확장되지 않습니다.


이 경우 근본적인 문제는 다음과 같습니다.RPM 매크로는 9개월 전에 %go_arches이름이 변경되었습니다 .%golang_arches_future. 이후에 새로운 podman 패키지는 Fedora Rawhide 저장소의 새로운 변수를 사용하고 있습니다. 사양의 변경 사항을 되돌리고 다시 사용하거나 런타임 시 %go_arches지원해야 하는 아키텍처에 대한 매개변수로 새 매크로를 설정할 수 있습니다.rpmbuild

rpmbuild -D "%golang_arches_future x86_64" -bb ./podman.spec

관련 정보