libxml2 2.8 в Ubuntu 10.04

Мне нужно, чтобы libxml2 2.8+ работал в моей среде Ubuntu 10.04, и я не могу найти нужную мне версию для ОС. Я мог бы перейти на 12.04, так как по умолчанию установлена ​​версия 2.8, но это больше работы, чем я хочу.

Можно ли как-нибудь установить libxml2 2.8+ на Ubuntu 10.04? Используя источник и упаковщик?

Я нашел этот пост, но я не уверен, как это сделать в Ubuntu:

ПРЕДУПРЕЖДЕНИЕ. Nokogiri был создан для LibXML версии 2.7.3, но имеет динамическую загрузку версии 2.7.8.

Я скачал и разархивировал исходный код, каковы мои дальнейшие действия?

Спасибо!


person shlant    schedule 08.02.2013    source источник


Ответы (1)


Во-первых, попробуйте apt-get с нужной вам версией. Например (и я не смотрел, есть ли 2.8.0 даже в репозиториях Ubuntu 10.4 по умолчанию)

$ sudo apt-get install libxml2=2.8.0

но используйте это с осторожностью, так как это может привести к понижению уровня зависимостей и проблемам с APT. У вас есть источник, и обычно это лучшее место.

Исходный пакет построен на основе автоинструментов GNU.

$ ./configure
$ make
$ make check
$# if all is ok, then
$ sudo make install

Для получения опций и большего контроля над функциями начните с

$ ./configure --help

и посмотрите, нужны ли вам такие вещи, как --with-run-debug и так далее.

Для исходных сборок autotools вам, возможно, придется поискать заголовки разработки, необходимые для некоторых зависимостей. ./configure обычно информирует вас о том, чего не хватает, а затем ищите версии пакетов -dev. Вам это не понадобится, так как у вас есть исходное дерево, но в качестве примера apt-get install libxml2-dev

Верхним уровнем установки по умолчанию для apt-get обычно является /usr, а для автоинструментов GNU и сборок с исходным кодом обычно /usr/local. Это хорошо, но может сделать поиск библиотек (с человеческой точки зрения) немного сложнее, пока вы не привыкнете к местности.

person Brian Tiffin    schedule 08.02.2013
comment
Я смог выполнить установку, несмотря на то, что во время проверки я получил ошибку: «Ошибка для ./test/errors/name2.xml failed File ./test/errors/name2.xml сгенерировала ошибку». Этот файл выглядит просто заполненным мусорными данными foo. Теперь в /usr/local/lib у меня есть libxml2.so.2.9.0, что нужно сделать, чтобы система использовала новую версию? - person shlant; 09.02.2013
comment
$ sudo ldconfig сбросит кэш загрузчика ссылок. - person Brian Tiffin; 09.02.2013