yum устанавливает старую версию cmake

9

По какой-то причине, когда я запускаю yumcmake, он устанавливает более старую версию. Может ли это быть потому, что мой список репо не полный? Я использую CentOS 6, используя минимальную настольную установку с установочного компакт-диска, отличного от сетевого. Кто-нибудь может дать мне ссылку на репо или что-то?

То же самое происходит в Scientific Linux.

Я бы взял компиляцию сам как последнее средство, потому что я пытаюсь сделать yum install cmakeработу в сценарии bash.

Dominique
источник
Посмотрите на вашу yumконфигурацию в /etc/yum.repos.d/*; есть ли там что-нибудь, что блокирует установленную версию.
DopeGhoti
Я так не думаю, все выглядит нормально и по умолчанию, это чистая установка.
Доминик
На самом ли деле установлены репозитории, в которых находится пакет enabled=1?
DopeGhoti
1
Как вы решаете, что пакет устарел? Разве не возможно, что ваш дистрибутив просто имеет более старую версию в своих репозиториях?
Струджи
Недавно мне пришлось сделать несколько сборок OpenCV в обновленной операционной системе Debian GNU / Linux. Предварительно скомпилированный доступный 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 пакета

Вы можете узнать, откуда загружается RPM с помощью repoqueryкоманды.

$ 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.

SLM
источник
Я обнаружил, что ATrpms Testing repositoryесть версия, которая мне нужна. Я установил его и использовал этот репозиторий, чтобы получить последнюю версию, спасибо.
Доминик
@ Доминик - отлично, рад, что вы решили свою проблему!
SLM
Спасибо за эту резолюцию! И еще раз спасибо за дополнительную информацию о командах yum / repo mgmt.
Jredd
@jRadd - пожалуйста!
SLM
6

Мне нужен был cmake 2.8 на CentOS 6.5, но мои попытки использовать yum также всегда держали cmake на 2.6, хотя я пытался добавить репозитории, которые, казалось бы, содержали правильную версию. Это немного странно, но я смог получить то, что мне нужно, выполнив следующие команды от имени root:

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
heenenee
источник