Русскоязычное сообщество Ubuntu Linux
*

Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?
Войти

 Календарь событий Русскоязычного сообщества Ubuntu
Собрания рабочих групп, мероприятия, конференции, семинары
Русскоязычное сообщество Ubuntu Linux  |  Разработка  |  Сборка пакетов  |  Тема: Сборка ПО и создание пакетов (deb-ианизацмя) из исходников в Debian (Ubuntu)
Страниц: [1] 2 3 ... 6  Все   Вниз
Печать
Автор Тема: Сборка ПО и создание пакетов (deb-ианизацмя) из исходников в Debian (Ubuntu)  (Прочитано 65711 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Denis Konstantinov
Автор темы
Модератор форума
*****
Сообщений: 2269



Просмотр профиля
« : 13 Августа 2007, 15:29:11 »

Здесь доступно много материала на эту тему https://wiki.ubuntu.com/PackagingGuide
И ещё http://www.debian.org/doc/maint-guide/

Попробую поделиться своим опытом в создании пакетов.

Вступление:
Отличие дистрибутивов основанных на Debian это не только отличная система управления пакетами apt-get (aptitude)
которая сама разрешает зависимости, но есть ещё и удобные инструменты для создания пакетов и своих репозиториев.

Если уж вы решились собрать программу из исходников, то советую ещё изучить как дебианизировать исходники.
Это отнимет чуть больше времени чем стандартное ./configure && make && make install
но за то позволит сохранить систему в чистоте. Удалить программы установленные командой make install можно только командой make uninstall, но не все исходники это поддерживают, а что ещё чаще исходники удаляют после установки, тогда удалить программу можно только вручную. Но чтобы это сделать нужно точно знать что и куда установилось Smiley А это уж точно никто не знает кроме самих разработчиков программы (ну или тех кто более менее разбирался в исходниках программы).

Цитата
Ну и что? Главное работает!
- apt-get не знает ничего об программах установленных вручную соответственно могут быть конфликты или просто непонятные глюки.
- очень часто исходники по умолчанию "рассчитаны" на определённый дистрибутив или наоборот рассчитаны только на установку из исходников, при этом выполняются разного рода "удобные" настройки в конфигурационных файлах. Так например очень любят прописывать mime типы. Но проблема в том что переводы разные бывают и в наутилусе может выскочить ошибка "Имя файла <тут имя> показывает, что файл является типом файла <Документ1>. Содержимое файла показывает, что файл является файлом типа <Документ2>" и документ не будет открываться.
Таких "недочётов" может быть очень много. А теперь если представить что это удалить нельзя поскольку пользователь не запоминал что и куда поставилось, наступает паника и как результат переустановка Smiley

Цитата
Но как быть если программу хочется поставить, а версия в deb пакете устарела, или такой вообще нет?

Есть два выхода использовать программу checkinstall. Она собирает всё в один пакет.
К сожалению она позволяет решить только вопрос с удалением программы.
И даже если apt-get будет знать, что программа установлена, он в лучшем случае сообщит, что конфликт файлов, файл /some/path/to/some/file уже есть в пакете "имя пакета собранного с помощью checkinstall"
Чаще всего такие случаи очень корректно разрешаются путём удаления конфликтного пакета. Но времени на разбор ситуации это у вас займёт.

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

Вижу вам всё ещё интересно Smiley Это радует.
И так дано:
некий исходник gcoolprog-0.5.3.tar.bz2
Нужно собрать пакет.

Решение.
Ниже идёт вариант как я обычно поступаю в таком случае.

Первым делом смотрю нет ли deb пакета той же версии но допустим под Debian.
Если есть делаю так см. "Есть нужная версия пакета в репозитории debian или в будущем релизе убунты"

Если нет той же версии но есть предыдущей.
Тут можно сказать как повезёт, если изменения в исходниках не коснулись положения файлов то скорее всего дебианизация от старого пакета подойдёт, нужно лишь сменить версию.
см. "Теперь вариант в репозитории есть пакет предыдущей версии."

ну и самый страшный случай нигде никаких deb пакетов нет только tar.gz и rpm Sad
Не отчаиваться! И ни в коем случае не использовать rpm!!!

Нам понадобятся как минимум программы
Код:
sudo apt-get install  autoconf automake libtool autotools-dev dpkg-buildpackage fakeroot
можно так же autobook это документация по утилитам  "GNU Autoconf, Automake, и Libtool"

Ну и конечно то что требуют сами исходные коды, для корректной сборки.

А так же не помешает завести ключик которым мы будем подписывать пакеты.
Данный шаг не обязателен его можно пропустить.

Для этого зайдите в Приложения-> Стандартные-> Пароли и ключи шифрования
В открывшемся окне в меню ключ->новый ключ
выбираем ключ pgp
Заполняем поля полное имя и электронный адрес.
В мире свободного программного обеспечения, для предотвращения "краж" или "подделок" принято подписывать свои "ценные" вещи электронным ключём, открытая часть которого хранится на обще доступных серверах и позволяет другим пользователям легко выяснить подлинность и целостность той или иной вещи. Поэтому отнеситесь к созданию ключа очень ответственно. Никто вас не заставляет вписывать сюда реальные имя и фамилию, или ещё какие нибудь личные данные, но если вас не разыскивает интерпол думаю указать фамилию и имя будет верным решением, хотя можно и просто свой ник Smiley
В общем решайте сами. А вот почтовый адрес укажите реальный, и который вы не поменяете. Можно использовать адреса крупных доменов таких как gmail.com или yandex.ru (т.е. у вас там должен быть свой ящик) Это позволит в будущем легко связаться с вами, человеку который вас не знает но по той или иной причине встретил "вещь" подписанную вами.
Далее вас спросят ввести пароль. Как дополнительную защиту. Он может быть полезен если вы будете использовать закрытый ключ на машинах которым вы не можете 100% доверять. Обратная сторона, вам придётся вводить пароль каждый раз как только вы будете что то подписывать. Хотя последняя версия программы seahorse имеет демон который автоматически запускается в сеансе гнома, и умеет "запоминать пароль" на время сеанса, но пока не все программы умеют с ней работать.
И так вы создали ключ теперь его можно будет использовать при создании пакетов.
Для этого в файл ~/.bashrc или в другой стартовый скрипт вашего любимого шелла (для zsh ~/.zshrc)  нужно вписать переменные
Код:
export DEBEMAIL=ваш@емэил

на основании емаил будет искаться ключ в пгп при подписи. пакета.
Нужно перелогиниться чтобы изменения вступили в силу.
Помните что если вы бэкпортируете пакет дебианизированный не вами обязательно нужно изменить версию.
Командой dch -i для того чтобы в изменениях вписался ваш email .
А для того чтобы ваш открытый ключ попал на сервер, в настройках seahorse ("Пароли и ключи шифрования")
нужно настроить соединение с сервером публичных ключей. Для этого нужно в меню правка->параметры
на закладке "Публикация ключей" поставить галку "Публиковать ключи..."
теперь можно выбрать ключ и в меню по правой кнопке выбрать "Синхронизировать и опубликовать ключи"


И так ...

Начну с самого страшного Smiley) поскольку остальные случаи это частные решения самого страшного.


И так у нас есть только gcoolprog-0.5.3.tar.bz2
Обычно я выполняю следующие действия
Код:
$ mkdir ~/src/gcoolprog
$ mkdir ~/src/gcoolprog/0.5.3
$ cd ~/src/gcoolprog/0.5.3
$ wget "http://<путь до файла>" (можно конечно и просто через браузер скачать но обычно так быстрее)

получаем файл gcoolprog-0.5.3.tar.bz2

Немного забегая в перёд пере архивируем файл программой gzip
Код:
$ bunzip2  gcoolprog-0.5.3.tar.bz2
$ gzip gcoolprog-0.5.3.tar
получим gcoolprog-0.5.3.tar.gz
и переименуем
$ mv gcoolprog-0.5.3.tar.gz gcoolprog_0.5.3.orig.tar.gz
(т.е. разделили имя и версию подчёркиванием и после версии добавили слово orig)

теперь распаковываем его (но не в коем случае не удаляем!)
Код:
$ tar zxvf ./gcoolprog_0.5.3.orig.tar.gz
$ cd gcoolprog-0.5.3
(замечание для корректной сборки нужно чтобы корневая директория содержала не только название но и версию!)
ниже будем считать директорию ~/src/gcoolprog/0.5.3/gcoolprog-0.5.3 корневой директорией исходников.

далее выполняем "черновую" сборку. Т.е. делаем как обычно ./configure --prefix=/usr && make (но не устанавливаем!)
если конфигурируется со всеми нужными опциями и собирается в бинарный файл, значит осталось только дебианизировать.

Дебианизация:
Ничего страшного в этом нет, как я уже говорил есть скрипты которые сильно упрощают этот процесс.
Вообще смысл всей этой процедуры создать директорию debian в корне исходников, с нужными файлами конфигурации и скриптом(ами)
для этого выполним

Код:
$ dh_make

Type of package: single binary, multiple binary, library, kernel module or cdbs?
 [s/m/l/k/b] s

Maintainer name : denis
Email-Address   : Ubuntu_user@mail.ru
Date            : Mon, 13 Aug 2007 12:40:33 +0400
Package Name    : gcoolprog
Version         : 0.5.3
License         : blank
Type of Package : Single
Hit <enter> to confirm:
Skipping creating ../gcoolprog_0.5.3.orig.tar.gz because it already exists
Done. Please edit the files in the debian/ subdirectory now. gcoolprog
uses a configure script, so you probably don't have to edit the Makefiles.

Последние строчки можно перевести как:

Цитата
Пропускаем создание ../gcoolprog_0.5.3.orig.tar.gz т.к. такой файл уже есть
Выполнено. Пожалуйста теперь отредактируйте файлы в директории  debian/ . gcoolprog
использует скрипт конфигурирования, поэтому вам возможно не нужно редактировать Make-файлы.

так мы сформировали пекет для одиночного бинарного файла.

Если бы мы не переименовали архив то получили бы следующее сообщение
Код:
Could not find gcoolprog_0.5.3.orig.tar.gz
Either specify an alternate file to use with -f,
or add --createorig to create one.
в таком случае советую прервать dh_make (ctrl+c) и переименовать архив как описано выше.

Но мы с вами молодцы и всё у нас прошло без ошибок появился каталог debian в корне исходников
посмотрев его содержимое увидите кучу файлов (расширение .ex) с примерами на все случаи жизни.
будем считать что программа у нас простая обычно ни один из этих файлов не нужен.

Первым делом нужно добавить описание программы в файле debian/control

Код:
Description: <insert up to 60 chars description>                                                                                                               
 <insert long description, indented with spaces>

В место <insert up to 60 chars description> и <insert long description, indented with spaces> (без угловых кавычек) нужно вписать описание что это за программа. Именно эти сведения увидит пользователь когда посмотрит описание пакета в synaptic'е.

второй момент это поправить файл debian/rules
в секции binary-arch:
нужно раскомментировать
Код:
       dh_install
(т.е. убрать # в начале строки)
без этого мы получим пустой пакет.

Обычно этих настроек достаточно для сборки пакета с одной программой которая не содержит разделяемых библиотек т.е. только бинарник в /usr/bin и данные в /usr/share

Теперь можно выполнить в корне с исходниками

Код:
$ dpkg-buildpackage -rfakeroot

Если при сборке произошла ошибка
Код:
dpkg-shlibdeps: failure: no dependency information found for /usr/lib/libxmega.so.9 (used by debian/gcoolprog/usr/bin/gcoolprog).

Это означает, что у вас установлена необходимая библиотека (т.к. программа скомпилировалась), но
система dpkg об этой библиотеки ничего не знает, например, поставили нужную библиотеку командой make install.
Или, если вы пытаетесь собрать сложную программу, состоящую из разных модулей,
вы собрали один из модулей без разбиения на библиотеки/программы.
Дело в том, что dpkg-shlibdeps ищет подходящие библиотеки в файлах
 /var/lib/dpkg/info/<package>.symbols или /var/lib/dpkg/info/<package>.shlibs
т.к. мы собирали пакет для одиночного бинарного файла файлы описывающие какие библиотеки входят в пакет не создавались!
Как решить эту проблему, это уже задача настоящего мантейнера, тут вам придётся разобраться за что твечает каждый файл
в debian директории, и руками править control и другие файлы, учитывая руководство Debian Policy.



Если ошибок не будет, мы получим файлы

Код:
$ cd .. (в директорию выше т.е. в ~/src/gcoolprog/0.5.3)
$ ls -1
gcoolprog_0.5.3-1.diff.gz
gcoolprog_0.5.3-1_i386.changes
gcoolprog_0.5.3-1_i386.deb
gcoolprog_0.5.3.orig.tar.gz

вот теперь мы можем установить пакет

Код:
$ dpkg -i *.deb







Теперь вариант в репозитории есть пакет предыдущей версии.

В этом случае очень удобно взять дебианизацию оттуда и поправить для новой версии.
Как я уже сказал возможно нам повезёт и достаточно будет только сменить версию.
Но не будем гадать.
Ниже я не буду комментировать то что описано в предыдущем решении.

Код:
$ mkdir ~/src/gcoolprog
$ mkdir ~/src/gcoolprog/0.5.3
$ cd ~/src/gcoolprog/0.5.3
$ wget "http://<путь до файла>"

получаем файл gcoolprog-0.5.3.tar.bz2

Код:
$ bunzip2  gcoolprog-0.5.3.tar.bz2
$ gzip gcoolprog-0.5.3.tar
$ mv gcoolprog-0.5.3.tar.gz gcoolprog_0.5.3.orig.tar.gz

теперь распаковываем его
tar zxvf ./gcoolprog_0.5.3.orig.tar.gz

скачиваем с http://packages.ubuntu.com файл gcoolprog_0.5.1.diff.gz (в самом низу в секции More Information on gcoolprog)
Код:
$ wget "http://archive.ubuntu.com/ubuntu/pool/universe/g/gcoolprog/gcoolprog_0.5.1.diff.gz"
$ gunzip gcoolprog_0.5.1.diff.gz
$ patch -p0 <./gcoolprog_0.5.1.diff

получаем директорию
~/src/gcoolprog/0.5.3/gcoolprog-0.5.1/debian

копируем каталог debian в директорию
~/src/gcoolprog/0.5.3/gcoolprog-0.5.3

дальше нам нужно изменить версию командой
Код:
$ dch -i
этой командой изменяется файл debian/changelog

например увидим

Код:
gcoolprog (0.5.1-1ubuntu2) feisty; urgency=low

  *

 -- denis <ubuntu_user@mail.ru>  Mon, 13 Aug 2007 14:13:27 +0400

но поскольку у нас версия 0.5.3 то нужно изменить значения на

Код:
gcoolprog (0.5.3-1ubuntu1) feisty; urgency=low

  * New upstream release.

 -- denis <ubuntu_user@mail.ru>  Mon, 13 Aug 2007 14:13:27 +0400
сохранить изменения

теперь можно выполнить команду сборки в пакет

Код:
$ dpkg-buildpackage -rfakeroot
получим файлы
Код:
$ cd ..
$ ls -1
gcoolprog_0.5.3-1.diff.gz
gcoolprog_0.5.3-1_i386.changes
gcoolprog_0.5.3-1_i386.deb
gcoolprog_0.5.3.orig.tar.gz

$ dpkg -i *.deb








Ну и последний вариант
Есть нужная версия пакета в репозитории debian или в будующем релизе убунты
для дебиана нужно использовать сайт packages.debian.org
для убунты packages.ubuntu.com
тогда например в убунте ищем пакет gcoolprog в репозитории будующего релиза.

Код:
$ mkdir ~/src/gcoolprog
$ mkdir ~/src/gcoolprog/0.5.3
$ cd ~/src/gcoolprog/0.5.3
теперь скачиваем три файла
$ wget http://archive.ubuntu.com/ubuntu/pool/universe/g/gcoolprog/gcoolprog_0.5.3-1.dsc
$ wget http://archive.ubuntu.com/ubuntu/pool/universe/g/gcoolprog/gcoolprog_0.5.3.orig.tar.gz
$ wget http://archive.ubuntu.com/ubuntu/pool/universe/g/gcoolprog/gcoolprog_0.5.3-1.diff.gz
или тоже самое но одной командой
Код:
dget  http://archive.ubuntu.com/ubuntu/pool/universe/g/gcoolprog/gcoolprog_0.5.3-1.dsc
затем распакуем командой

Код:
$ dpkg-source -x ./gcoolprog_0.5.3-1.dsc

получим каталог gcoolprog-0.5.3

перейдём в него и сменим версию
Код:
$ cd gcoolprog-0.5.3
$ dch -i

Код:
gcoolprog (0.5.3-1ubuntu1) feisty; urgency=low

  * backport from gutsy

 -- denis <ubuntu_user@mail.ru>  Mon, 13 Aug 2007 14:13:27 +0400

теперь можно собирать пакет

Код:
$ dpkg-buildpackage -rfakeroot

получим файлы
Код:
$ cd ..
$ ls -1.
gcoolprog_0.5.3-1.diff.gz
gcoolprog_0.5.3-1_i386.changes
gcoolprog_0.5.3-1_i386.deb
gcoolprog_0.5.3.orig.tar.gz

$ dpkg -i *.deb

Некоторые команды мне подсказал Александр Герасёв
http://gq.net.ru/2007/03/16/building-deb-packages/

Официальное полное руководство на Русском http://www.debian.org/doc/maint-guide/
Уголок разработчика Debian http://www.debian.org/devel/

Хороший цикл статей http://tigro.info/blog/index.php?id=375
правда автор предвзято относится к сборке deb пакетов, но если на это не обращать внимания вполне приличный обзор.
« Последнее редактирование: 22 Апреля 2009, 22:17:53 от Denis Konstantinov » Записан
bad_duck
Участник
***
Сообщений: 169


Бледнолицый друг пингвинов

bad_duck@jabber.ru
Просмотр профиля
« Ответ #1 : 11 Сентября 2007, 08:53:14 »

Делал все по инструкции (имеются только исходники) - не получилось.
Стал искать в инете. Нашел недопереведенный мануал https://help.ubuntu.com/ubuntu/packagingguide/ru/index.html
Почитав его выяснилось, что нужны дополнительные пакеты и самое главное gpg ключ сборщика.
...
Копаю дальше.
Записан
Denis Konstantinov
Автор темы
Модератор форума
*****
Сообщений: 2269



Просмотр профиля
« Ответ #2 : 11 Сентября 2007, 09:32:12 »

Код:
пакеты и самое главное gpg ключ сборщика.
Ключи сборщика не нужны.

а что не получилось то???
« Последнее редактирование: 11 Сентября 2007, 09:38:42 от Denis Konstantinov » Записан
bad_duck
Участник
***
Сообщений: 169


Бледнолицый друг пингвинов

bad_duck@jabber.ru
Просмотр профиля
« Ответ #3 : 12 Сентября 2007, 08:56:54 »

Ключ сборщика у меня просили когда я делал по инструкции с help.ubuntu.com

Немного подумав, я нашел то, что мне надо в репках, но ради интереса решил-таки собрать пакет, но подумав еще Smiley
Цитата
Обычно этих настроек достаточно для сборки пакета с одной программой которая не содержит разделяемых библиотек т.е. только бинарник в /usr/bin и данные в /usr/share
А если я пытаюсь сделать пакет с самой библиотекой?

ПыСы. Сначала пришлось закоментировать dh_installdocs в debian/rules (и на всякий случай dh_installexamples тоже запретил), т.к. была ошибка, что не возможно выполнить stat для README. После этого получил
Код:
...
dh_install
dh_install: glib-dev missing files (usr/include/*), aborting
make: *** [binary-arch] Ошибка 1
Исходник - ftp://ftp.gtk.org/pub/glib/2.12/glib-2.12.13.tar.gz
« Последнее редактирование: 12 Сентября 2007, 09:10:46 от bad_duck » Записан
SeaJey
Герой
*****
Сообщений: 1863


Electronic Knight

313041136 seajey@livejournal.com
Просмотр профиля Email
« Ответ #4 : 13 Октября 2007, 13:16:41 »

Дебианизировал один пакет - у меня, по крайней мере, установился нормально. Как бы его на других машинах потестить? Просто в общий доступ - неудобно, кажется описание кривым получилось, и вместо почтового адреса - nick@computername.
В уже собранном deb пакете это можно поправить?

ЗЫ
А ключ сборщика получить сложно?
Записан
supaplex
Новичок
*
Сообщений: 12


Просмотр профиля
« Ответ #5 : 17 Октября 2007, 14:37:21 »

Иногда перед сборкой в каталоге с исходниками требуется запустить libtool
Записан
SeaJey
Герой
*****
Сообщений: 1863


Electronic Knight

313041136 seajey@livejournal.com
Просмотр профиля Email
« Ответ #6 : 17 Октября 2007, 21:28:59 »

Цитата
Иногда перед сборкой в каталоге с исходниками требуется запустить libtool
Так вроде ./configure сам libtool вызывает. Не однажды лично наблюдал.
Записан
Crew
Герой
*****
Сообщений: 992


xneur 0.9.9


Просмотр профиля WWW
« Ответ #7 : 18 Октября 2007, 01:23:43 »

Конфигурация не всегда вызывает исполнение libtool.
По крайней мере, все зависит от скриптов сборки (первоначально, autogen.sh, который в свою очередь ориентируется на другие скрипты).
Так что, в общем случае, libtool не помешает.
Записан

1. Ubuntu 10.04 / Asus K40IJ
2. Ubuntu 10.04 / Asus EeePC 1000H
2uha1glaz
Новичок
*
Сообщений: 11



Просмотр профиля
« Ответ #8 : 26 Октября 2007, 13:36:38 »

Все делал по инструкции, однако не получилось сделать

./configure

пишет, что не существует такой директории...
Записан
SeaJey
Герой
*****
Сообщений: 1863


Electronic Knight

313041136 seajey@livejournal.com
Просмотр профиля Email
« Ответ #9 : 26 Октября 2007, 17:38:51 »

build-essential установлен?
Точно в директории, где запускался ./configure лежит файл configure?
Некоторые пакеты используют другой метод сборки, что по этому поводу в ридми написано?
Записан
Pegasus
Активист
****
Сообщений: 384


Ubuntu 8.04 AthXP 2500+ nForce2 1GB geForce6600GT


Просмотр профиля
« Ответ #10 : 28 Ноября 2007, 13:54:31 »

Цитата
Т.е. делаем как обычно ./configure --prefix=/usr && make (но не устанавливаем!)
а какой prefix собственно для Убунты писать ?
Записан
michael
Участник
***
Сообщений: 125


247904078
Просмотр профиля
« Ответ #11 : 04 Декабря 2007, 19:05:34 »

И ещё вопрос: а как собирать пакет из исходников CVS, предназначенных для scons? Ведь мэйкфайла нет в директории с исходниками, его роль выполняет SConstruct, и dpkg-buildpackage на этом запинается, пишет "не заданы цели и не найден make-файл."
Записан
Denis Konstantinov
Автор темы
Модератор форума
*****
Сообщений: 2269



Просмотр профиля
« Ответ #12 : 05 Декабря 2007, 13:20:32 »

Цитата
Т.е. делаем как обычно ./configure --prefix=/usr && make (но не устанавливаем!)
а какой prefix собственно для Убунты писать ?
тот что написан
Цитата
И ещё вопрос: а как собирать пакет из исходников CVS, предназначенных для scons? Ведь мэйкфайла нет в директории с исходниками, его роль выполняет SConstruct, и dpkg-buildpackage на этом запинается, пишет "не заданы цели и не найден make-файл."
вот тут напряг Sad
так просто дебианизировать не получится. Нужно руками создавать файл rules
или подсмотреть в подобной программе которая есть в репозитории.
« Последнее редактирование: 05 Декабря 2007, 13:22:34 от Denis Konstantinov » Записан
michael
Участник
***
Сообщений: 125


247904078
Просмотр профиля
« Ответ #13 : 06 Декабря 2007, 18:26:40 »

 Вот файл rules как раз и есть, и он вполне вменяемый, судя по тому, что dpkg-buildpackage вполне успешно запихивает собранную прогу в *.tar.gz, после чего обламывается на сборке deb-пакета. Не может оно найти именно Makefile, вместо которого есть Sconstruct. Наводящий вопрос: может быть, можно переписать этот самый SConstruct так, чтобы он был схаван как Makefile?
Записан
Kucha
Любитель
**
Сообщений: 58


Просмотр профиля
« Ответ #14 : 12 Декабря 2007, 08:56:53 »

Всем привет! Ребята помогите не могу установить задаю команду
 ./configure --prefix=/usr && make
И вот результат
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... no
checking whether to enable maintainer-specific portions of Makefiles... no
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.
Что нужно доустановить или как вообщем это вылечить...
Записан

Есть одна фраза: лучше один раз увидеть, чем сто раз услышать.
Страниц: [1] 2 3 ... 6  Все   Вверх
Печать
Русскоязычное сообщество Ubuntu Linux  |  Разработка  |  Сборка пакетов  |  Тема: Сборка ПО и создание пакетов (deb-ианизацмя) из исходников в Debian (Ubuntu)
Перейти в:  


Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006, Simple Machines LLC Best Hosting
Серверы на Ubuntu
Страница сгенерирована за 0.3 секунд. Запросов: 19.