yum은 cmake의 이전 버전을 설치합니다


9

어떤 이유로 yumcmake를 실행 하면 이전 버전이 설치됩니다. 내 리포지토리 목록이 완전하지 않기 때문일 수 있습니까? 인터넷이 아닌 설치 CD에서 최소 데스크탑 설치를 사용하는 CentOS 6을 사용하고 있습니다. 누구든지 repo 링크 또는 무언가를 줄 수 있습니까?

Scientific Linux에서도 마찬가지입니다.

yum install cmakebash 스크립트에서 작업 하려고하기 때문에 마지막 수단으로 직접 컴파일해야합니다 .


; 에서 yum구성을 확인하십시오 /etc/yum.repos.d/*. 설치된 버전을 잠그는 것이 있습니까?
DopeGhoti

나는 그렇게 생각하지 않는다. 모든 것이 정상적으로 보이고 기본값이며, 이것은 새로 설치된다.
Dominique

패키지가있는 리포지토리가 실제로로 설정되어 enabled=1있습니까?
DopeGhoti

1
패키지가 오래되었다고 어떻게 판단하십니까? 배포판에 단순히 이전 버전의 저장소가있을 수 있습니까?
strugee

최근에 업데이트 된 데비안 GNU / 리눅스 기반 운영 체제에서 일부 OpenCV 빌드를 만들어야했습니다. 사전 컴파일 된 사용 가능한 CMake는 OpenCV를 빌드하기에는 너무 오래되었지만 CMake를 다운로드하여 빌드하면 문제가 해결되었습니다.
41754

답변:


7

당신은 말하지 않지만 어떤 버전을 받고 있으며 어떤 버전을 기대하십니까?

어떤 리포지토리가 있습니까?

이 명령을 사용하여 시스템이 쿼리하도록 구성된 리포지토리를 찾을 수 있습니다.

$ yum repolist | expand
Loaded plugins: fastestmirror, priorities, refresh-packagekit
Loading mirror speeds from cached hostfile
 * base: centos.mirror.constant.com
 * epel: mirror.steadfast.net
 * extras: mirror.symnds.com
 * updates: bay.uchicago.edu
77 packages excluded due to repository priority protections
repo id         repo name                                               status
base            CentOS-6 - Base                                         6,297+70
epel            Extra Packages for Enterprise Linux 6 - x86_64            10,246
extras          CentOS-6 - Extras                                            7+7
updates         CentOS-6 - Updates                                           314
repolist: 16,864

패키지 정보

패키지의 설치 여부를 사용하여 쿼리 할 수 ​​있습니다 yum info <pkg>.

$ yum info cmake
Loaded plugins: fastestmirror, priorities, refresh-packagekit
Loading mirror speeds from cached hostfile
 * base: centos.mirror.constant.com
 * epel: mirror.steadfast.net
 * extras: mirror.symnds.com
 * updates: bay.uchicago.edu
77 packages excluded due to repository priority protections
Installed Packages
Name        : cmake
Arch        : x86_64
Version     : 2.6.4
Release     : 5.el6
Size        : 18 M
Repo        : installed
From repo   : base
Summary     : Cross-platform make system
URL         : http://www.cmake.org
License     : BSD
Description : CMake is used to control the software compilation process using simple
            : platform and compiler independent configuration files. CMake generates
            : native makefiles and workspaces that can be used in the compiler
            : environment of your choice. CMake is quite sophisticated: it is possible
            : to support complex environments requiring system configuration, pre-processor
            : generation, code generation, and template instantiation.

패키지의 URL

repoquery명령 을 사용하여 RPM을 다운로드 할 위치를 찾을 수 있습니다 .

$ repoquery --location cmake
http://centos.mirrors.hoobly.com/6.5/os/x86_64/Packages/cmake-2.6.4-5.el6.x86_64.rpm

이 저장소의 일부는 다음과 같습니다.

$ repoquery -i cmake | grep Repos
Repository  : base

이 패키지를 제공하는 CentOS 배포판의 기본 저장소입니다.

다른 리포지토리에는 무엇이 있습니까?

pkgs.org를 사용하여 특정 패키지 (적어도 대부분의 주요 저장소)를 포함하는 저장소를 쿼리 할 수 ​​있습니다 .

이 목록에 따르면 EPEL 저장소 에는 최신 버전이 사전 빌드되어 있습니다. 이 패키지의 버전은 다음과 같습니다. cmake 28-2.8.11.2-1.


ATrpms Testing repository필요한 버전이 있다는 것을 알았습니다 . 나는 그것을 설치하고 그 repo를 사용하여 최신 버전을 얻었습니다. 감사합니다.
Dominique

@Dominique-문제가 해결되어 다행입니다.
slm

이 해결에 감사드립니다! yum / repo mgmt 명령에 대한 추가 정보에 대해 다시 한 번 감사드립니다.
1

@jRadd-천만에요!
slm

6

CentOS 6.5에서 cmake 2.8이 필요했지만 yum을 사용하려는 시도는 올바른 버전이 포함 된 repos를 추가하려고해도 cmake를 항상 2.6으로 유지합니다. 해키이지만 일종의 루트로 다음 명령을 실행하여 필요한 것을 얻을 수있었습니다.

wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6.8.noarch.rpm
yum install cmake28
cd /usr/bin
mv cmake cmake26
mv ccmake ccmake26
mv cpack cpack26
mv ctest ctest26
ln -s cmake28 cmake
ln -s ccmake28 ccmake
ln -s cpack28 cpack
ln -s ctest28 ctest
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.