dpkg는 최신 버전의 종속성이 포함된 패키지를 설치하지 않습니다.

dpkg는 최신 버전의 종속성이 포함된 패키지를 설치하지 않습니다.

이건 말이 안 되니까 누군가 나에게 설명해 주실 수 있나요?

$ dpkg -i freeling-3.1-quantal-x86_64.deb
Selecting previously unselected package freeling.
(Reading database ... 283003 files and directories currently installed.)
Preparing to unpack freeling-3.1-quantal-x86_64.deb ...
Unpacking freeling (3.1) ...
dpkg: dependency problems prevent configuration of freeling:
 freeling depends on libboost-program-options1.49.0 (>= 1.49); however:
  Package libboost-program-options1.49.0 is not installed.
 freeling depends on libboost-regex1.49.0 (>= 1.49); however:
  Package libboost-regex1.49.0 is not installed.
 freeling depends on libboost-system1.49.0 (>= 1.49); however:
  Package libboost-system1.49.0 is not installed.
 freeling depends on libicu48 (>= 4.8.1); however:
  Package libicu48:amd64 is not installed.

하지만 liboost 1.54가 있습니다! (모든 패키지)

$ apt-cache policy libboost-program-options1.54.0
libboost-program-options1.54.0:
  Installed: 1.54.0-5
  Candidate: 1.54.0-5

$ apt-cache policy libboost-program-options-dev
libboost-program-options-dev:
  Installed: 1.54.0.1
  Candidate: 1.54.0.1

모든 종속성에 대해서도 마찬가지입니다. 이 패키지가 손상되었습니까? 아니면 설정에 문제가 있는 것을 발견한 것입니까? 내가 이해하는 한도에서는,

(>= 1.49)

1.49보다 크거나 같다는 뜻이죠?

답변1

라는 패키지가 필요합니다 libboost-program-options1.49.0. 1.49 이상의 모든 버전이 가능하지만 패키지 이름이어야 합니다. libboost-program-options1.54.0패키지 이름이 다릅니다.

ABI가 호환되지 않기 때문에 패키지 이름이 다르기 때문에 1.49.0용으로 컴파일된 실행 파일을 1.54.0에서 사용할 수 없으며 그 반대의 경우도 마찬가지입니다. 패키지 이름이 다르기 때문에 두 버전을 동시에 설치할 수 있으므로 1.49.0용으로 컴파일된 프로그램과 1.54.0용으로 컴파일된 프로그램을 동일한 시스템에서 사용할 수 있습니다.

패키지 이름은 …-quantal-…Ubuntu 10.10 Quantal용 패키지임을 나타냅니다. 최신 Ubuntu 버전(예: saucy 또는 trusty)에서는 소스 패키지를 구해 다시 컴파일하거나 사용 중인 Ubuntu 버전에 맞는 바이너리를 찾아야 합니다. 또는 여전히 Raring에서 사용할 수 있는 이전 1.49.0 라이브러리를 얻을 수 있습니다(또한 이전 Ubuntu 버전은 다음 위치에 보관되어 있습니다).oldversion.ubuntu.com), 하지만 이로 인해 종속성 지옥에 빠질 수 있으므로 Freeling을 다시 컴파일하는 것이 좋습니다.

답변2

이 제목에 따르면:답글: Ubuntu 13.10에 Freeling 3.1 설치 - 2014/01/08 16:30다시 컴파일하셔야 할 것 같습니다.

발췌

freeling-3.1-qualal-x86_64.deb 파일은 ubuntu Quantal(12.10) 및 Raring(13.04) 버전에서 libboost-1.49 및 libboost-1.53과 함께 제공되므로 이 버전에서 작동합니다.

Saucy는 libboost-1.53 ​​및 1.54와 함께 제공되므로 소스에서 FreeLing을 컴파일해야 합니다.

3.1 소스 코드 패키지는 컴파일되지 않지만 SVN의 트렁크 버전은 부스트 ​​1.54를 사용하여 성공적으로 컴파일될 수 있습니다.

관련 정보