소스 패키지의 종속성 요구 사항을 찾는 방법은 무엇입니까?

소스 패키지의 종속성 요구 사항을 찾는 방법은 무엇입니까?

소스에서 패키지를 컴파일하는 경우 필요한 종속성을 어떻게 찾나요? Centos7에서 Python 3을 컴파일할 때 필요한 라이브러리를 찾는 유일한 방법은 tarball과 함께 제공되는 구성 스크립트를 실행하고 결함을 찾는 것이었습니다. 더 좋은 방법이 있나요?

답변1

내가 아는 가장 간단한 방법은 호환 배포판에서 패키지 관리자가 결정한 관련 빌드 요구 사항을 사용하는 것입니다. CentOS에서는 Python 3을 사용할 수 없으므로 EPEL 또는 다른 Fedora 호스팅을 확인해야 합니다.관련 소스 코드 패키지.

RPM 기반 배포판의 빌드 종속성 목록은 다음을 참조하세요.패키지 .spec파일:빌드 종속성은 아래에 나열되어 있습니다 BuildRequires. 파이썬 3의 경우:

BuildRequires: autoconf
BuildRequires: bluez-libs-devel
BuildRequires: bzip2
BuildRequires: bzip2-devel
BuildRequires: desktop-file-utils
BuildRequires: expat-devel

BuildRequires: findutils
BuildRequires: gcc-c++
%if %{with gdbm}
BuildRequires: gdbm-devel
%endif
BuildRequires: glibc-all-langpacks
BuildRequires: glibc-devel
BuildRequires: gmp-devel
BuildRequires: libappstream-glib
BuildRequires: libffi-devel
BuildRequires: libnsl2-devel
BuildRequires: libtirpc-devel
BuildRequires: libGL-devel
BuildRequires: libuuid-devel
BuildRequires: libX11-devel
BuildRequires: ncurses-devel

BuildRequires: openssl-devel
BuildRequires: pkgconfig
BuildRequires: readline-devel
BuildRequires: redhat-rpm-config >= 127
BuildRequires: sqlite-devel
BuildRequires: gdb

BuildRequires: tar
BuildRequires: tcl-devel
BuildRequires: tix-devel
BuildRequires: tk-devel

%if %{with valgrind}
BuildRequires: valgrind-devel
%endif

BuildRequires: xz-devel
BuildRequires: zlib-devel

BuildRequires: /usr/bin/dtrace

# workaround http://bugs.python.org/issue19804 (test_uuid requires ifconfig)
BuildRequires: /usr/sbin/ifconfig

%if %{with rpmwheels}
BuildRequires: python-setuptools-wheel
BuildRequires: python-pip-wheel
%endif

답변2

모든rpm.org, 종속성은 파일에 정의되어 있습니다 .spec.

이 태그를 사용하면 패키지는 이름이 일치하거나 제공되는 다른 패키지의 설치를 요구할 수 있습니다(패키지에 Requires가 포함된 경우 설치됩니다). 이는 새 패키지가 설치될 때와 일치하는 제공: 패키지가 제거될 때 확인됩니다.

그들이 제공하는 예는,

    Requires: python perl

관련 정보