Как понизить версию libxml 2.7.8 до 2.7.6 в Ubuntu

Один из моих Rubygem (Nokogiri) был построен против libXML 2.7.6, но как только я обновил libXML до версии 2.7.8, мои программы выдают ошибки. Чтобы мои программы работали, мне нужно сделать много модификаций, а я не хочу их делать. Могу ли я понизить версию libXML до 2.7.6?


person dsharma    schedule 06.12.2010    source источник


Ответы (3)


Вы пытались пересобрать Nokogiri для использования более новой версии libxml?

gem uninstall nokogiri
gem install nokogiri

должен сделать это. Если вы изначально установили Nokogiri с помощью sudo, вам также нужно будет использовать его с приведенными выше командами.

Nokogiri имеет собственный код, который компилируется при установке, и этот код будет недоволен, если изменится версия libxml. Удаление, а затем повторная установка должны занять всего около 30 секунд, в результате чего собственный код будет обновлен для новой библиотеки.

person the Tin Man    schedule 06.12.2010

Что я обычно делаю в этом случае, так это...

  1. Загрузите исходный код версии библиотеки, которую я хочу использовать.
  2. Используйте apt-get build-dep libxml для получения необходимых зависимостей
  3. Настройте загруженную библиотеку для использования префикса, такого как /opt или $HOME.
  4. Настройте приложения, которым требуется «нечетная» версия библиотеки из исходного кода, чтобы использовать загруженную версию.
  5. Сборка и установка

В некоторых случаях также возможно, чтобы две библиотеки жили бок о бок и ими можно было управлять через диспетчер пакетов, но мне с этим очень не повезло.

person Andrew White    schedule 06.12.2010
comment
Linux From Scratch печально известен наличием пакетов, которые отказываются работать с разными версиями libXML. У меня когда-то было три установки одновременно, и отслеживать их все было не слишком весело... Я удалил случайно, так как забыл засунуть его в /opt/, ну да ладно... Согласен, тем не менее, ваш ответ работает для людей, которые постоянно компилируют материал, или для тех, кто понижает критический системный пакет. - person Blender; 06.12.2010

Посмотрите на это: http://ubuntuforums.org/showthread.php?t=321156. Это руководство по понижению пакетов.

Кроме того, перейдите на https://askubuntu.com/. Они занимаются вещами Ubuntu.

person Blender    schedule 06.12.2010
comment
Я добавлю предупреждение, что я видел, как происходят плохие и ужасные вещи, когда кто-то пытается принудительно понизить версию пакетов. Я не говорю, что Блендер вообще неправ, но я говорю из личного опыта (возможно, невезение, но опыт). - person Andrew White; 06.12.2010
comment
Обычно я ищу более новые версии конфликтующих пакетов, потому что я убил систему Ubuntu, понизив ее до... - person Blender; 06.12.2010