Сборка приложений

Автор Iskander, 12 Сентября 2008, 17:50

« предыдущая тема - следующая тема »

0 Пользователей и 4 Гостей просматривают эту тему.

Iskander

Я заметил, что часто стали появляться вопросы типа - как поставить приложения из tar.gz файлов.
Распаковываем
$tar -zxvf archive.tar.gz
В текущей папке появится содержимое архива. для bz2 архивов используется параметр j вместо z

Там как правило, у вас должен быть файл configure - это скрипт для создания мэйкфайла  - то есть скрипта, контролирующего процесс компиляции.
Обычно у него много параметров, которые можно узнать запустив скрипт
$./configure --help
либо почитав про них в INSTALL и/или README файлах :)
Вообще неплохо прежде чем включать или выключать какие-то опции понимать что они значат. Но обычно, можно конфигурировать по умолчанию, для большинства пользователей такие настройки должны подойти.
Опции описывать не буду, ибо у каждого приложения они свои, за исключеннием нескольких стандарных, отмечу только опцию
--prefix
По умолчанию она направлена в /usr или /usr/local то есть библиотеки у вас попадут в /usr/lib, исполняемые файлы в /usr/bin и т.п Можно переопределить это значение.
После того как мы определись со всеми опциями, запускаем configure c ними.
Если все прошло успешно - значит наша система способна собрать это приложение. Если выплюнуло ошибку - значит у вас что-то не установлено. Какие-то development версии пакетов, библиотеки, неверная версия gcc. Иногда стоит прочитать получше документацию и возможно поменять какие-то опции :)
Затем собираем
$make
и устанавливаем
$su -
#make install

Также вместо стандартного make install могу посоветовать checkinstall

Отмечу еще, что собирать из исходников приложения в "пакетных" дистибутивах не рекомендуется. Система засоряется. Другое дело, если вы занимаетесь программированием, в таком случае у вас все равно будет стоять много пакетов в devel-версии.
Любовь и массовые расстрелы спасут мир.

Stels

А LiveCD версия может не потдерживать выполнение скриптов?
Короче, как интернет появитря буду норм.  проги искать((

Iskander

Что значит "не поддерживает выполнение скриптов"? configure это обычный шелл скрипт
имейте в виду, в линуксе, в отличии от винды в PATH нет "." то есть из текущего каталога скрипт запускается ./configure
Но прболема скорее всего в другом. У вас возможно gcc не установлен :)
Любовь и массовые расстрелы спасут мир.

baloo

А как удалить таким образом установленное приложение? собирал без опций каких либо
"Никаких крыльев нет. Просто умираешь и все." © Гусеница

Vicpo

make uninstall в том же каталоге в котором собирали

Iskander

ЦитироватьА как удалить таким образом установленное приложение? собирал без опций каких либо
роекомендую поставить checkinstall и ставить из него. Тогда это приложение можно будет удалить из пакетного менеджера, и нет необходимости хранить сконфигурированные сырцы.
Любовь и массовые расстрелы спасут мир.

asd

checkinstall отличная вещь

Zavr

а еще проще юзать RPM`ы,  DEB`ы или TGZ и не заморачиваться
т.к. частенько баги при сборке замечаю
ночь, полная луна, по кладбищу бродят пингвины... готишно...

Iskander

Цитироватьт.к. частенько баги при сборке замечаю
Что значит баги при сборке?  :help: GCC глючит? :)
Любовь и массовые расстрелы спасут мир.

Zavr

Цитировать
Цитироватьт.к. частенько баги при сборке замечаю
Что значит баги при сборке?  :help: GCC глючит? :)
ну или сурсы кривые, или руки...
ночь, полная луна, по кладбищу бродят пингвины... готишно...

could

А еще таким способом никогда не соберешь KDE4 и другой софт, который не использует autotools, которого в последнее время все больше. :)
Так что tar -zxvf archive.tar.gz, и читаем докумнетацию :)
Или просто ставим debian :)

Anton

Обьясните пожайлуста в чём ошибка?

Vicpo

файл который вы пытаетесь распаковать отсутствует в той директории где вы находтесь

Loki

Цитата: Iskander от 12 Сентября 2008, 17:50Я заметил, что часто стали появляться вопросы типа - как поставить приложения из tar.gz файлов.

Распаковываем
$tar -zxvf archive.tar.gz

[кат]

Отмечу еще, что собирать из исходников приложения в "пакетных" дистибутивах не рекомендуется. Система засоряется. Другое дело, если вы занимаетесь программированием, в таком случае у вас все равно будет стоять много пакетов в devel-версии.

Всем ку!

Вчера встала нубовская проблема установки SRWare Iron из архива tar.gz, но ввиду позднего времени инфу искать не стал. Нашел сию тему только что, и пробовать собрать пакет (первый раз в жизни http://linuxforum.kz/public/style_emoticons/<#EMO_DIR#>/smile.gif\' class=\'bbc_emoticon\' alt=\':)\' />) буду по указанной здесь инструкции сегодня вечером. Вопрос состоит в следующем - есть ли в функционале Линукс возможность проделывания всех этих действий без терминала?

Не то чтобы я боюсь командной строки, но если есть возможность не заморачиваться на терминале, то почему бы и нет?

Да, дистр у меня Simply Linux 5.0.0 (В последующем планирую переехать на openSUSE.)

Loki

Ничерта вобщем не получилось... Там в архиве лежит readme, в котором написано, что собирать ничего не надо, а надо просто запустить исполняемый файл. Так вот он просто не запускается, даблклик игнорируется, запуск через Миднайт тоже. В чем тут подвох?

hedgeven

24 Апреля 2010, 07:52 #15 Последнее редактирование: 24 Апреля 2010, 08:22 от hedgeven
Цитата: Loki от 24 Апреля 2010, 00:48Ничерта вобщем не получилось... Там в архиве лежит readme, в котором написано, что собирать ничего не надо, а надо просто запустить исполняемый файл. Так вот он просто не запускается, даблклик игнорируется, запуск через Миднайт тоже. В чем тут подвох?
запустите этот файл в терминале и посмотрите какую ошибку он выдает.
переход - cd каталог/
запуск файла в этом каталоге - ./filename
если скажет что-то типа этого
-bash: ./filename: Отказано в доступенужно дать файлу права на выполнение
chmod +x filenameесли будет подобное:
./lib/filename.bin.x86: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directoryзначит не хватает необходимых библиотек. устанавливаем что ему нужно и пробуем снова.
Jah will give us everything...

Loki

Благодарю за помощь! Да, не хватало какой-то библиотеки. Поиск по репозиториям ничего не дал, поэтому бросил я это гиблое дело. Вообще в репозиториях для этого Simply Linux вечно нихрена нужного не найдешь, всё древности какие-то... Да о чём тут говорить, если даже документации внятной нет до сих пор! Всё, переезжаю на openSUSE.

Ramzes

Товарищи подскажите как Mint заставить увидеть Ядро установленное не из MintUpdate: Ситуация такая - у меня на ядре 2.6.32-21 виснет ноут - причины Radeon X200M - c компизом полосы и артефакты на весь экран, без него просто зависает (Ctrl+Alt+Del - ноль реакции), порекомендовали установить 2.6.33 - нашел deb, скачал, поставил через GDebi - а система все равно кажет 2.6.32

B@F

27 Сентября 2010, 20:06 #18 Последнее редактирование: 28 Сентября 2010, 09:08 от Vicpo
Цитата: Ramzes от 27 Сентября 2010, 14:48Товарищи подскажите как Mint заставить увидеть Ядро установленное не из MintUpdate: Ситуация такая - у меня на ядре 2.6.32-21 виснет ноут - причины Radeon X200M - c компизом полосы и артефакты на весь экран, без него просто зависает (Ctrl+Alt+Del - ноль реакции), порекомендовали установить 2.6.33 - нашел deb, скачал, поставил через GDebi - а система все равно кажет 2.6.32
Почитай сздесь и сздесь (пишут, про 2 файла) и опробуй скачать от сюда.
Поправьте, если я ошибаюсь, буду тока рад.