의존성을 구축 중입니다 libmysqlcppconn7v5
. Ubuntu 1.1.9에서 구축 중이지만 Debian 1.1.7 libmysqlcppconn7v5
에 설치하도록 되어 있습니다 .libmysqlcppconn7v5
debian/control
다음 줄을 포함합니다:
Depends: ${shlibs:Depends}, ${misc:Depends}, libmysqlcppconn7v5 (>= 1.1.7)
패키지를 빌드한 후에도 여전히 종속성이 있습니다.libmysqlcppconn7v5 (>= 1.1.9)
패키지를 빌드할 때 설치한 버전보다 낮은 패키지 버전에 종속되게 하려면 어떻게 해야 합니까?
답변1
shlibs:Depends
1.1.9 이상을 지정하게 되면 ( libmysqlcppconn7v5
이론적으로) 빌드하는 바이너리가 1.1.9 이상에서만 사용할 수 있는 기호를 사용한다는 의미입니다. 따라서 libmysqlcppconn7v5
종속성을 재정의하더라도 패키지가 반드시 Debian 1.1.7 버전에서 실행되지 않을 수도 있습니다. (패키지가 기호나 shlibs 파일을 제공하지 않아 휴리스틱이 유효하지 않기 때문에 이를 어느 정도 제한했습니다.)
일반적으로 Debian에 패키지를 설치하려면 Debian에 패키지를 빌드해야 합니다. 우분투 에서는 어렵지 않습니다 debootstrap
. 특히, 쉽게 설정할 수 있습니다.sbuild
pbuilder
pbuilder
여러 배포판을 기반으로 함.
만약 너라면진짜를 재정의하려면 다음을 실행한 후 빌드 중에 생성된 파일을 편집 shlibs:Depends
할 수 있습니다 ..substvars
dpkg-shlibdeps
override_dh_shlibdeps:
dh_shlibdeps
sed -i s/1.1.9/1.1.7/g debian/yourpackage.substvars