Новости:

Форуму исполнилось 12 лет!

Мы в матрице .
Мы в телеге .

Главное меню

Как установить бинарник

Автор Anton, 29 апреля 2012, 20:58:43

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Anton

Скачал seamonkey, распаковал, запустил - работает.
А как теперь его штатно поставить?
Мне сказали, Слака — кака, пояснили, что я лох. Всё равно её не брошу, потому что на всех пох!

Anton

#1
нашёл на сайте slackfind.net libreoffice; audacity; Hydrogen; Ardour
скачал пакеты, установил через pkginstall и.... нифига не работает =((( что я делаю не так?
Мне сказали, Слака — кака, пояснили, что я лох. Всё равно её не брошу, потому что на всех пох!

bormant

Цитата: Anton от 30 апреля 2012, 13:30:35
что я делаю не так?
Скорее "что НЕ доделал".
Возьмём, к примеру, audacity -- audacity-2.0.0-i486-1sl, Slackware-13.37 / slacky.eu     
Ему требуются следующие зависимости, как указано в пункте
dependencies:
alsa-lib >= 1.0.24.1-i486-1,
atk >= 1.32.0-i486-1,
cairo >= 1.10.2-i486-2,
cxxlibs >= 6.0.14-i486-1 | gcc-g++ >= 4.5.2-i486-2,
expat >= 2.0.1-i486-2,
ffmpeg >= 0.8.10-i686-1sl,
flac >= 1.2.1-i486-3,
fontconfig >= 2.8.0-i486-1,
freetype >= 2.4.4-i486-1,
gcc >= 4.5.2-i486-2,
gdk-pixbuf2 >= 2.23.3-i486-1,
glib2 >= 2.28.6-i486-1,
glibc-solibs >= 2.13-i486-4,
gst-ffmpeg >= 0.10.11-i486-1sl,
gtk+2 >= 2.24.4-i486-1,
jack-audio-connection-kit >= 0.121.3-i486-1sl,
ladspa_sdk >= 1.13-i486-7sl,
libICE >= 1.0.7-i486-1,
libSM >= 1.2.0-i486-1,
libX11 >= 1.4.3-i486-2,
libXau >= 1.0.6-i486-1,
libXcomposite >= 0.4.3-i486-1,
libXcursor >= 1.1.11-i486-1,
libXdamage >= 1.1.3-i486-1,
libXdmcp >= 1.1.0-i486-1,
libXext >= 1.2.0-i486-1,
libXfixes >= 5.0-i486-1,
libXi >= 1.4.2-i486-1,
libXinerama >= 1.1.1-i486-1,
libXrandr >= 1.3.1-i486-1,
libXrender >= 0.9.6-i486-1,
libXxf86vm >= 1.1.1-i486-1,
libid3tag >= 0.15.1b-i486-4,
libjpeg >= v8a-i486-1,
libmad >= 0.15.1b-i486-3,
libmspack >= 0.2alpha-i486-1sl,
libogg >= 1.2.2-i486-1,
libpng >= 1.4.5-i486-1,
libsndfile >= 1.0.24-i486-1,
libtiff >= 3.9.4-i486-2,
libvorbis >= 1.3.2-i486-1,
libxcb >= 1.7-i486-1,
pango >= 1.28.4-i486-1,
pixman >= 0.20.2-i486-1,
soundtouch >= 1.5.0-i486-5sl,
twolame >= 0.3.13-i486-1sl,
util-linux >= 2.19-i486-1,
vamp-plugin-sdk >= 2.2.1-i486-1sl,
wxwidgets >= 2.8.12-i486-1sl,
zlib >= 1.2.5-i486-4

Большинство из них поставляется с дистибутивом в нужной версии. Но не все. Навскидку, как минимум ffmpeg, wxwidgets.
slacky.eu поддерживает slapt-get, который вполне способен помочь вам вытянуть недостающие пакеты.

Запустите audacity в консоли, увидите отладочный вывод.
Натравите ldd на бинарник audacity -- увидите недостающие общие библиотеки.

Anton

0к ща попробую. Спс.
PS Картинки такие больше постить не буду  :-[
Мне сказали, Слака — кака, пояснили, что я лох. Всё равно её не брошу, потому что на всех пох!

Anton

Чем дальше знакомлюсь с системой тем больше вопросов.
Поставил slapt-get, но думаю, что это не особо правильно. Какие надо к нему репы добавлять, кроме итальянского? А самый главный вопрос. Получил я список недостающих библиотек на гидроген, вот смотрю на него и дума, и где их брать, а как их ставить... ((((((
Мне сказали, Слака — кака, пояснили, что я лох. Всё равно её не брошу, потому что на всех пох!

Anton

#5
Я просто оставлю это здесь

Harliff писал:
ЦитироватьRe: зависимости пакетов в SlackWare

>Ставлю пакет KDE-base хотя не стоит KDE-base.

Это как понимать? Ты наверное что-то иное имел в виду.

В слаке автозависимости отсутствуют в принципе -- то есть все возложенно на тебя (есть swaret и slapt-get, которые кое-как за этим следят, но это внешние средства).

То есть ты должен сам понимать, что от чего зависит.

Можещь спокойно удалить glibc или bash, все удалится без единого warning'a (сам себе злобный буратино), но зато ты в следующий раз будешь сначала думать, а потом делать.

Итак, как же все-таки быть с неудовлетворенными зависимостями в слаке?

Итак, программа ругается на отсутствие somelib.so.5. Если она не ругается, а просто ты подозреваешь, что ей какой-то библиотечки нехватает, то делаешь ldd /usr/bin/someprogram, и тебе вылезает список нужных ей библиотек. Если есть надписи "not found", значит этой библиотеки нет. Если что-то устанавливал/удалял, делаешь (от рута) ldconfig (сам при старте системы выполняется), потом повторяешь ldd.

Делаешь locate solmelib и смотришь что у тебя есть. Если имеется /usr/lib/somelib.so.6, то делаешь симлинк с нее на /usr/lib/somelib.so.5 -- как правило прокатывает.

Делаешь locate и ничего полезного не находишь. Значит нужно что-то ставить. Разбираешься, чего именно не хватает, и где оно есть. Как правило, все довольно трививально. Например, если чему-нибудь нужно "libaspell", то ставишь пакет aspell.

Если же ничего похожего по назвванию ты не находишь, то лезешь в гугл и вводищь название библиотеки, выясняешь к чему она относиться (к какой программе). Лезешь на linuxpackages.net и ищешь там программу. Если нашел, качаешь наиболее свежий пакет, ставишь. (Автоматизируется это через swaret или slapt-get, путем добавления linuxpackages.net в список репозиториев).

Если же на на linuxpackages.net ничего не нашлось, то топаешь по ссылке в гугле на оффсайт библиотечки (программы), качаешь исходники, компилируешь, делаешь пакет, ставишь пакет. (Обычный ./configure && make && make install быстро превращают систему в помойку).

Ну и тормозить не надо. Для kde, как ты можешь догадаться, нужны kde-base, kde-libs и еще что-нибудь -- тебе виднее, что (не пользуюсь KDE).

После слаки к дистрибутиву с жесткими зависимостями трудно привыкнуть (имхо).
Harliff **** (26.10.2005 15:25:49)

Ещё ссылочку оставлю
Мне сказали, Слака — кака, пояснили, что я лох. Всё равно её не брошу, потому что на всех пох!

bormant

#6
Где брать: уважающие себя репозитории имеют привычку быть самодостаточными, то есть содержать все необходимые зависимости в более-менее непротиворечивом состоянии.

Как ставить: почитать man slapt-get, попробовать действовать строго по инструкции, обратить внимание на вывод команд.

Например, возьмём Slackware-13.37 и тот же hydrogen со slacky.eu. А начнём от установки slapt-get.

1) Грузим/ставим slapt-get:
# wget -P /tmp http://software.jaos.org/slackpacks/13.37/slapt-get/slapt-get-0.10.2m-i386-1.tgz
# upgradepkg --install-new /tmp/slapt-get-0.10.2m-i386-1.tgz


2) Читаем на slacky.eu про поддержку slapt-get, смотрим соответствующий список зеркал для slapt-get и своей версии Slackware.
Правим /etc/slapt-get/slapt-getrc, добавляя зеркало, например,
# Source for slacky.eu
SOURCE=http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-13.37/


Обращаем внимание на уже прописанные зеркала для Slackware и slapt-get, ниже вернёмся к этому моменту более подробно, сейчас же просто отметим, что extra, testing и pasture закомментированы. Поскольку вопрос скорее всего был связан именно с этим обстоятельством, пока не будем ничего тут менять, чтобы показать характерное поведение.

Обновляем сведения о пакетах из репозиториев:
# slapt-get --update

3) Пытаемся поставить hydrogen. Поскольку мне он не нужен, я добавлю ключик -s чтобы только имитировать процесс.

# slapt-get -s --install hydrogen
Reading Package Lists...Done
Excluding hydrogen, use --ignore-dep to override
The following packages have unmet dependencies:
  portmidi: Depends: jdk >= 6u25-i586-1
The following packages have been EXCLUDED:
  hydrogen
0 upgraded, 0 reinstalled, 0 newly installed, 0 to remove, 1 not upgraded.
Done

Внимательно читаем "выхлоп". Видим, что имеется неудовлетворённая зависимость: пакет portmidi требует наличия пакета jdk версии 6u25-i586-1 или выше, по этой причине hydrogen исключён из установки. При помощи ключа --ignore-dep можно поставить, игнорируя зависимости.
Почему вывод именно такой? Ответ очевиден -- slapt-get не знает, где взять jdk. Есть ли в дистрибутиве Slackware-13.37 jdk? Есть, в extra. Теперь самое время вернуться к настройкам репозиториев slapt-get:
Цитировать
# Base url to directory with a PACKAGES.TXT.
# This can point to any release, ie: 9.0, 10.0, current, etc.
SOURCE=ftp://ftp.slackware.com/pub/slackware/slackware-13.37/:OFFICIAL

# Sources for the testing, extra, and pasture areas - if you use them.
# SOURCE=ftp://ftp.slackware.com/pub/slackware/slackware-13.37/extra/:PREFERRED
# SOURCE=ftp://ftp.slackware.com/pub/slackware/slackware-13.37/testing/
# SOURCE=ftp://ftp.slackware.com/pub/slackware/slackware-13.37/pasture/
Убираем комментарий с extra, обновляем описания, пробуем поставить:

# slapt-get --update
# slapt-get -s --install hydrogen
Reading Package Lists...Done
The following NEW packages will be installed:
  celt libsigc++ glibmm libxml++ libffado jack-audio-connection-kit lash
  ladspa_sdk liblrdf portaudio jdk portmidi hydrogen
The following packages will be upgraded:
  libiec61883
1 upgraded, 0 reinstalled, 13 newly installed, 0 to remove, 0 not upgraded.
Need to get 79.4MB of archives.
After unpacking 285.8MB of additional disk space will be used.
celt-0.11.1-i486-1sl is to be installed
libsigc++-2.2.9-i486-1sl is to be installed
glibmm-2.27.99.2-i486-1sl is to be installed
libiec61883-1.2.0-i486-2_SBo is to be upgraded to version 1.2.0-i486-5sl
libxml++-2.33.2-i486-1sl is to be installed
libffado-2.0.1-i486-1sl is to be installed
jack-audio-connection-kit-0.121.3-i486-1sl is to be installed
lash-0.6.0rc2-i486-7sl is to be installed
ladspa_sdk-1.13-i486-7sl is to be installed
liblrdf-0.4.0-i486-7sl is to be installed
portaudio-20110326-i486-1sl is to be installed
jdk-6u25-i586-1 is to be installed
portmidi-217-i486-5sl is to be installed
hydrogen-0.9.5-i486-1sl is to be installed
Done

Картинка существенным образом поменялась -- hydrogen и все нужные ему зависимости будут установлены.

Теперь пару слов про различные репозитории и пользу ключа -s (--simulate). Обратите внимание на строчку:
Цитировать
libiec61883-1.2.0-i486-2_SBo is to be upgraded to version 1.2.0-i486-5sl
пакет libiec61883-1.2.0-i486-2_SBo установлен в системе (собран мной как зависимость при установке другого пакета по сценариям со slackbuilds.org). slapt-get считает, что пакет со slacky.eu свежее, основываясь на номере версии (точнее, в данном случае только на номере билда -- 5 свежее, чем 2):
-1.2.0-i486-2_SBo
-1.2.0-i486-5sl
В разных репозиториях параметры сборки бинарников пакета могут быть а) одинаковыми, б) разными, но совместимыми, в) конфликтующими. Без дополнительной проверки выяснить это не представляется возможным.
Конкретно с этим пакетом таких проблем нет, он использован в качестве примера для описания возможных неприятностей.

Поменять номер билда установленного пакета легко, достаточно переименовать нужным образом пару файлов:
/var/log/packages/имя-пакета-архитектура-билд_тэг
/var/log/scripts/имя-пакета-архитектура-билд_тэг
последний может отсутствовать, если в пакете не было скрипта install/doinst.sh.

Есть ли возможность заставить slapt-get его собственными средствами не обновлять конкретный пакет, сказать не могу, ибо не пользуюсь. В slapt-getrc есть параметр EXCLUDE, но правильно ли использовать его для подобной цели, не знаю.

Anton

СПАСИБО! Сегодня буду дальше мучить комп свой. Кстати man slap-get почему то по русски ничего не выводит =( только список параметров
Мне сказали, Слака — кака, пояснили, что я лох. Всё равно её не брошу, потому что на всех пох!

bormant

Anton,
процитированное в "Ответ #5" имеет весьма далёкое отношение к вопросу из "Ответ #1", а, с учётом "замирания" linuxpackages.net на версии 13.1, так для буквального применения и вовсе вредно.
После появления Slackware64 на бинарном файле чужой разрядности легко получить от ldd "file not found" -- readelf в помощь.

Anton

Я просто для примера как в лоб можно зависимости разрулить. В принципе можно и потереть.
Мне сказали, Слака — кака, пояснили, что я лох. Всё равно её не брошу, потому что на всех пох!

bormant

Цитата: Anton от 02 мая 2012, 15:34:26
man slap-get почему то по русски ничего не выводит
Элементарно, Ватсон:

# zcat /usr/man/ru/man8/slapt-get.8.gz | enca -L ru
KOI8-R Cyrillic
  LF line terminators
Он в koi8-r, а консолька в utf-8. Решений минимум два: 1) перекодировать страницу руководства в utf-8, и/или 2) использовать совет отсюда http://slackware.su/forum/index.php/topic,32.msg122.html#msg122 начиная со слов "Существует и другое, более универсальное решение:", предварительно поставив enca.

Anton

Не скрываю своей радости!!!!!!!!!!1 Всё работает! Т.е. вообще что мне нужно было поставилось! И маны тоже отображаются!!!!
Начинаю понимать в чём прикол в слаке.
bormant ещё раз тебе огромное спасибо!!!!
Мне сказали, Слака — кака, пояснили, что я лох. Всё равно её не брошу, потому что на всех пох!