RVM - Ошибка версии Multilib при установке libffi-devel на Centos 6.6

849
McNab

У меня есть дроплет Digital Ocean под управлением CentOS версии 6.6, и мне нужно установить на него Ruby и Capistrano. Я следовал за руководством этого идиота;

https://www.digitalocean.com/community/tutorials/how-to-use-capistrano-to-automate-deployments-getting-started

но я столкнулся с проблемой в команде rvm install 2.1.0.

Обычно скрипт установки пытается установить пакет, libffi-develно не может. Выдает ошибку, говоря, что есть проблема с версией Multilib, которую мне нужно решить, и предлагает некоторые способы ее устранения. Кажется, ни один из них не работает, и я либо гуглюсь совершенно неправильно, либо это случается не так часто, потому что я не могу найти решение. Вот скриншот;

RVM - Ошибка версии Multilib при установке libffi-devel на Centos 6.6

Что я пробовал;

  1. Проверка Yum выполняется (занимает много времени, но в конце концов попадает туда) и просто возвращается;

    Loaded plugins: fastestmirror check all 
  2. Я попытался повторно запустить команду с флагом, --setopt=protected_multilib=falseкак он предлагает (или предложить не делать, я был в отчаянии). Я не уверен, что я делаю неправильно там синтаксически, но это выдает ошибку;

    Unrecognized command line flag: '--setopt=protected_multilib=false' ( see: 'rvm usage' ) 
  3. Попытка команды yum list libffiпоказывает мне следующее (изображение ниже). А именно, что есть установленный пакет и доступный пакет. Если я пытаюсь обновить установленный пакет, yum update libffi.x86_64 он сообщает мне, что пакеты не помечены для обновления . Если я пытаюсь удалить неустановленный пакет, используя yum remove libffi.i686его, мне сообщают, что пакет (ы) libffi.i686 доступен, но не установлен. Пакеты не помечены для удаления .

RVM - Ошибка версии Multilib при установке libffi-devel на Centos 6.6

  1. Обновление всего с помощью yum update, он говорит мне, что нет пакетов, отмеченных для обновления .
1

1 ответ на вопрос

1
McNab

Well I got it sorted. I was hesitant to use the answer in this Stack;

https://stackoverflow.com/questions/15799047/trying-to-remove-yum-which-is-protected-in-centos

As there were comments suggesting yum itself ended up broken. I tried it anyway;

rpm -e --nodeps libffi 

And it uninstalled the offending libffi package. Then

yum install libffi-devel 

worked fine and I could carry on and install ruby no problem.

Сразу хочу сказать, что у меня были такие же проблемы и ваше предложение сработало нормально. Но я чувствую себя довольно неудобно, удаляя пакет, от которого зависит yum. Может быть, кто-то может предложить более безопасное решение или объяснить, почему это не так опасно, как кажется. Sascha 8 лет назад 1
@ Саша - я полностью согласен. Чувствую себя как грязный способ сделать что-то, будьте великолепны, если кто-нибудь даст хороший чистый ответ на этот вопрос! McNab 8 лет назад 0