저는 Fedora 35에서 잘 돌아가는 Rocky 8 패키지를 만들고 있습니다. rpmbuild -ba를 사용하여 Rocky 8에서 컴파일하려고 하면 다음 오류가 발생합니다. -fPIC을 사용하여 재컴파일할 때 relocation xxxxx를 사용할 수 없습니다.
일반적으로 이는 추가하기 쉽지만 사양 파일은 %cmake 매크로를 사용하여 프로젝트를 빌드합니다. 이 매크로는 많은 것을 포함하도록 확장되었습니다. CFLAGS 등을 정의합니다. 여기에 -fPIC 플래그를 어떻게 추가하나요? 이 매크로는 "rpm -E %cmake"를 사용하여 얻을 수 있지만 -D로 정의되지 않은 다른 플래그를 추가하는 방법은 명확하지 않습니다.
답변1
%cmake 매크로에 -DCMAKE_POSITION_INDEPENDENT_CODE=ON을 매개변수로 전달할 수 있다는 것을 발견했습니다.