LINUX.ORG.RU

libudev1 в Ubuntu 12.04

 ,


0

1

Есть deb-пакет одной проги, исходников нет. Для установки требует пакет libudev1, который появился только в 14.04. Есть ли способ поставить этот пакет, без обновления зависимостей либо как то установить, используя libudev0?

★★★

чрут, контейнеры, ну ещё виртуалбокс для совсем уж лузеров

darkenshvein ★★★★★ ()

Как насчёт пересобрать сам .deb-пакет (распаковать-запаковать), изменив зависимости? Мб взлетит.

Valdor ★★ ()
Последнее исправление: Valdor (всего исправлений: 2)

Скачай libudev1 с сайта http://packages.ubuntu.com/ и распакуй с помощью архиватора file-roller. Запусти программу с помощью команды:

LD_LIBRARY_PATH=/home/zevilz/libudev/lib/ nazvanie-programmy

Если увидишь ошибку:

[username@localhost utorrent-linux-x86_64]$ ./utserver
utserver: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.16' not found (required by utserver)

Значит тебе надо пересобрать эту библиотеку. Открой менеджер пакетов (например synaptic), найди в настройках «Репозитории». Поставь галочку «Source packages». Примени. Обнови репозитории.

Найди libudev1 от Ubuntu 14.04 на http://packages.ubuntu.com/. Справа есть три файла, их расширения *.dsc, *.orig.tar.gz (или xz) и diff.gz. Скачай их и положи в новый каталог, например build. А теперь команды:

cd /home/zevilz/build // переход в каталог
sudo apt-get build-dep libudev0 // установка зависимостей, нужны права администратора
dpkg-source -x *.dsc // распаковка исходного кода
cd [TAB] //кнопка [TAB] делает автодополнение команд
fakeroot ./debian/rules binary // компиляция программы
cd .. // переход на 1 каталог назад
sudo dpkg -i libudev1[два раза по TAB]

Здесь важно установить только libudev1, и не устанавливать libudev1-devel. Но если установить, то ничего страшного не случится. Поэтому можно сделать просто «sudo dpkg -i *.deb»

ZenitharChampion ★★★★★ ()
Последнее исправление: ZenitharChampion (всего исправлений: 1)
Ответ на: комментарий от ZenitharChampion

Запусти программу с помощью команды

Прога не устанавливается без libudev1

Справа есть три файла, их расширения *.dsc, *.orig.tar.gz (или xz) и diff.gz

В исходниках почему-то исходники systemd))
Хрен с ним скачал я их, но затыкается на компиляции вот этим:

configure.ac:457: warning: macro `AM_PATH_LIBGCRYPT' not found in library
configure.ac:80: error: possibly undefined macro: AC_MSG_ERROR
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
configure.ac:457: error: possibly undefined macro: AM_PATH_LIBGCRYPT
autoreconf: /usr/bin/autoconf failed with exit status: 1
make[2]: *** [autoreconf] Ошибка 1
make[2]: Выход из каталога `/home/evil/build/systemd-204'
dh_autoreconf: debian/rules autoreconf returned exit code 2
make[1]: *** [override_dh_autoreconf] Ошибка 2
make[1]: Выход из каталога `/home/evil/build/systemd-204'
make: *** [binary] Ошибка 2

zevilz ★★★ ()
Ответ на: комментарий от zevilz

Блин, оно даже не может сгенерировать файл configure. Не знаю как починить, я с таким ещё не сталкивался.

Попробую сам, у меня где-то есть Ubuntu 12.04, переписал фирменную версию с ноутбука подруги.

ZenitharChampion ★★★★★ ()
Ответ на: комментарий от zevilz

На вот, я собрал. https://yadi.sk/d/B3OBswZAeosaa

Если тебе интересно, как собирал:

  • Ошибка нагуглилась тут, наложил патч patch -p1 < systemd-03-fix-am-path-libgcrypt-no-found.patch, и всё.
  • Команда установки зависимостей многое не установила - когда я её давал, я не учёл что libudev подвергся глобальным переменам, и вместо исходников udev терерь скачиваются исходники systemd. Список: libcap-dev libdbus-1-dev liblzma-dev python2.7-dev libwrap0-dev libgcrypt11-dev
  • Потом мне надоело дополнять список, и я внёс исправления в «rules», чтобы компиляция стартовала сразу. Получившийся systemd невозможно использовать, так как в списке после configure было много отсутствующих важных функций, вроде PAM, без которого не залогинишься в Unity. Но так как нам из всей этой груды металла нужна только одна маленькая деталька, мне пофиг.

P.S. Блин, приятно иногда побыть в мейнстриме: собрать программу так, чтобы она у кого-то потом заработала! Обычно у меня Opensuse, и даже если у кого-нибудь по случайности тоже - у меня всё равно кастомный GCC из OBS (аналог PPA).

ZenitharChampion ★★★★★ ()
Последнее исправление: ZenitharChampion (всего исправлений: 1)
Ответ на: комментарий от zevilz

Я не умею. Раз ты не говоришь что за прога, скажи хотя бы, популярна ли она? Если это Google Chrome, то я не буду обновлять свою версию

ZenitharChampion ★★★★★ ()
Ответ на: комментарий от ZenitharChampion

клиент непопулярного чата поддержки chathelp для сайтов))

zevilz ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.