Ставлю программу из исходников (ngspice называеца), пишу
./configure - вроде сконфигурил, по крайней мере ошибок не выдал
make - вроде собрал, тоже ошибок не было
sudo checkinstall - **** Установка неудачна. Отменяется создание пакета.
выдавал ошибки типа "make: *** [install-recursive] Error 1", "make[4]: *** [install-am] Error 2", "make[5]: *** [install-pkglibLIBRARIES] Error 1"
в чем проблема? вообще последовательность команд правильная? что ни собираю, постоянно на чекинсталле одинаковая фигня.
с checkinstall часто проблемы бывают, но иногда он позволяет быстро собрать пакет, не заморачиваясь с ручной записью
вобще проверь для начала полностью с установкой и без изменения системы, для этого при конфигурации укажи какую-нибудь директорию в домашней:
./configure --prefix=/полный/путь/к/директории
вобще список параметров можно и желательно всегда перед сбокрой посмотреть
./configure --help
после этого смело без судо собирай и ставь:
make
make install
если все ок, то можно пакет собирать, вначале чистим тестовую сборку
make uninstall
make clean
потом переконфигурируем и собираем, но я предпочитаю без судо, чтобы только пакет собрался
./configure
make
fakeroot checkinstall
в конце ругнется, что пакет не поставился, но нам нужна была только сборка, можно ответить 'Y', посмотреть сообщение о неуспешной установке, нажать 'Q' для выхода их просмотра сообщения и сборка завершится.
если с checkinstall проблемы, попробуй пакет по другому собрать, я вкратце без построения дерева зависимостей расскажу
Понадобятся пакеты fakeroot (я уже о нем говорил), dh-make, debhelper, devscripts
Нам нужен исходник скажем это ngspice-1.1 в архиве ngspice-1.1.tar.bz2 и в распакованном виде с именем директории ngspice-1.1. То есть в текущей директории проекта архив и одноименная директория. заходим в нее
cd ngspice-1.1
конфигурируем
./configure
и запускаем dh_make
dh_make -e [email protected] -f ../ngspice-1.1.tar.bz2
нас спрашивают о типе пакета одиночный, несколько пакетов, библиотека и тд. пусть будет single
тебе выкинет инфо о сборке и о необходимости поправить несколько файлов плюс создастся директория debian
входим в нее и правим control
cd debian
nano control
в открывшемся файле (я повторяю, про проверку зависимостей не заморачиваемся, если ставим для себя, если сборка успешная, то все и так стоит), правим если нужно некоторые строки, все в принципе наглядно
в Section: пишем куда относится (games, internet... и тд)
в остальных параметрах ничего критичного, единственно, если править последнюю строку с long description обрати внимание что вначале стоит пробел, его не убирать
еще можно, но если для себя не обязательно править changelog, copyright. README.debian можно просто удалить.
Возвращаемся в корневую директорию будущего пакета
cd ../
теперь сборка пакета. если надо еще пакет с исходником то собираем так
dpkg-buildpackage -rfakeroot
если достаточно просто пакета с приложением. то можно так
fakeroot debian/rules binary
выглядит длинно, но на самом деле процесс занимает минуты, если не заниматься подготовкой официального релиза
хех, ткнулся на форуме убунту в сборку пакетов, там все есть, за мелкими иcключениями, скажем по сборке без сурс пакета, но более подробно
http://forum.ubuntu.ru/index.php?topic=11609.0
хотя, просмотрев понял, что ненамного подробнее) и вот это непонятно:
все и без этого отлично собирается
попробовал собрать этот ngspice, с chtckinstall и правду нифига не идет, кстати где-то читал что версия в репах с багом, нормально работает предыдущая, но не проверял
вот после таких команд сборка проходит успешно
aclocal
./autogen.sh
./configure --enable-maintainer-mode --prefix=/usr
dh_make -e [email protected] -f ../ng-spice-rework-17.tar.gz
fakeroot debian/rules binary
aclocal - потому что на него autogen ругался, параметры configure из readme плюс, по умолчанию, установка в /usr/local, я сделал в /usr
ну и правка control еще была, легкая.
когда проверял нет ли такого в репозиториях, его не нашел, зато обнаружил gui - gspiceui
можно с ним потом работу проверить
вот пакет готовый, если интересно
http://narod.ru/disk/335104000/ng-spice-rework_17-1_i386.deb.html
Спасибо.
Вот именно, что гуй к нему есть, а самого нгспайса нет. Мне он по учебе нужен, версию под дос юзать не хочется, к тому же линуксовая еще и с гуем.
работает хоть?) я в тестовой сборке бинарник запускал, запускается без ошибок, но что с ним делать лень было разбираться)
В общем собрал я его в пакет. Первая прога, которую собрал, и она заработала)
Сделал так:
aclocal
./autogen.sh
./configure --prefix=/usr
dh_make -f ../ng-spice-rework-17.tar.gz
fakeroot debian/rules binary
--enable-maintainer-mode нужно было для сырцов из CVS, как написано в INSTALL,
мыло не указывал, дескрипшены тоже, все равно для себя собираю, debian/control вообще не трогал.
с --prefix=/usr и правда удобнее, а то запускалось только с указанием полного пути.
Походу в дебианах лучше использовать dh_make, а не checkinstall. Наверное, так можно собрать что угодно из исходников в .деб. Я вот тока не понял, зачем ему архив с исходниками нужен был..
Спасибо за помощь.
поздравляю)
на базе архива он diff и orig делает насколько я понял
Эм.... не сочтите за нуба.. собрал не один пакет. Но вот мне понадобился packet-dev сделать....
А я что-то нигде не могу найти информацию по этому поводу. Вот сейчас собрал ogresdk, а к нему надо бы ещё ogresdk-dev... Вот последний как ручками сделать? Или ножками? -___-
dh_make -r не берёт. Вообще. Пишет каку:
dh_make -r
Option r requires an argument
dh_make - prepare Debian packaging for an original source archive, version 0.61
уже весь инет перерыл.... Ну вот нинаю как... подтолкните что-ли....
ЗЫ Исходники для cmake
Ну, какбэ, в теории, один архив с исходниками, в нем инструкции по лепке двух пакетов. Сам не делал, но думаю стоит рассмотреть пример, скачав через apt-get source что-то вроде libglew.
Вот это почитай. И чуть выше есть "Руководство нового сопровождающего Debian".
Отправить комментарий