Сборка из сырцов ;)
Модераторы: Warderer, Модераторы разделов
-
shulik
- Сообщения: 256
- ОС: OpenSuse 11 / FreeBSD 7.0
Сборка из сырцов ;)
Стоит у меня sarge 3.1 в апте у которого прописаны и stable и unstable и testing deb и deb-src. Уже не раз оттуда апдейтился. И вот оно началось. Решил я поставить psi собрав его из сырцов. Делаю так apt-get source psi. Ставит. Далее apt-get build-dep psi. Не ставит, что-то ругается про то что не могут быть установлены. Делаю dpkg-buildpackage. Пишет мне про unmet dependencies. Ага - смотрю что нужно. apt-get install ... . Он мне говорит - ставлю там что-то с qt, сношу qca. Ок. Ставит. Снова dpkg-buildpac... Снова unmet qca-dev. apt-get install qca-dev. Он мне говорит - ставлю qca-dev, сношу qt... . Ок. Теперь у меня unmet qt. И так до бесконечности. Вопрос: это щас так модно или у меня руки косые?
"Так не возможно
Не оступиться,
Не избежать высоты.
Остановиться нам еще можно,
Есть еще шаг до черты." © А.Горшенев
Не оступиться,
Не избежать высоты.
Остановиться нам еще можно,
Есть еще шаг до черты." © А.Горшенев
-
sveta_067
- Сообщения: 219
Re: Сборка из сырцов ;)
Почитай про apt-build оч интересная штука 
СССР - ВСЕМУ МИРУ ПРИМЕР!
За коммунистами пойдешь - дорогу в жизни найдешь!
От ленинской науки , крепнут разум и руки!
Советскому патриоту - любой подвиг в охоту!
qwebix -- хостинг VPS
За коммунистами пойдешь - дорогу в жизни найдешь!
От ленинской науки , крепнут разум и руки!
Советскому патриоту - любой подвиг в охоту!
qwebix -- хостинг VPS
-
Cap. J2A
- Сообщения: 300
Re: Сборка из сырцов ;)
(shulik @ Пятница, 26 Августа 2005, 18:07) писал(а):Стоит у меня sarge 3.1 в апте у которого прописаны и stable и unstable и testing deb и deb-src. Уже не раз оттуда апдейтился. И вот оно началось. Решил я поставить psi собрав его из сырцов. Делаю так apt-get source psi. Ставит. Далее apt-get build-dep psi. Не ставит, что-то ругается про то что не могут быть установлены.
Ругательства в студию.
(shulik @ Пятница, 26 Августа 2005, 18:07) писал(а):Делаю dpkg-buildpackage. Пишет мне про unmet dependencies.
Ну еще бы -- ведь на прошлом шаге он не мог установить нужные пакеты.
(shulik @ Пятница, 26 Августа 2005, 18:07) писал(а):Ага - смотрю что нужно.
Смотреть нужно в *.dsc, там в Build-Depends прописаны все необходимые для сборки пакеты
(shulik @ Пятница, 26 Августа 2005, 18:07) писал(а):Вопрос: это щас так модно или у меня руки косые?
Видимо, второе (сам спросил).
Debian GNU/Linux 3.1 2.6.12-1-k7 на AXP1700+/nF2/Radeon 9600 (debsmart)
Debian GNU/Linux 3.1 2.6.15.1 на hp compaq nx9020 (moby)
:Wq
E492: Not an editor command: Wq
Debian GNU/Linux 3.1 2.6.15.1 на hp compaq nx9020 (moby)
:Wq
E492: Not an editor command: Wq
-
shulik
- Сообщения: 256
- ОС: OpenSuse 11 / FreeBSD 7.0
Re: Сборка из сырцов ;)
вобщем что-то такое.....
Код: Выделить всё
shulik-station:/mnt/data/DEVEL/psi-0.9.3# apt-build build-source psi
Building the following packages from source:
-----> Installing build dependencies (for psi) <-----
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
E: Зависимости для сборки psi не могут быть удовлетворены.
-----> Updating package lists <-----
В кэше [url=http://security.debian.org]http://security.debian.org[/url] stable/updates/main Packages
В кэше [url=http://security.debian.org]http://security.debian.org[/url] stable/updates/main Release
В кэше [url=http://security.debian.org]http://security.debian.org[/url] stable/updates/contrib Packages
................................................................................
...
В кэше [url=ftp://ftp.ru.debian.org]ftp://ftp.ru.debian.org[/url] testing/non-free Packages
В кэше [url=ftp://ftp.ru.debian.org]ftp://ftp.ru.debian.org[/url] testing/non-free Release
В кэше [url=ftp://ftp.ru.debian.org]ftp://ftp.ru.debian.org[/url] testing/non-free Sources
В кэше [url=ftp://ftp.ru.debian.org]ftp://ftp.ru.debian.org[/url] testing/non-free Release
Чтение списков пакетов... Готово
-----> Downloading source psi (0.9.3-1) <-----
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
Нужно загрузить 1704kB архивов с исходными текстами.
Распаковка исходных текстов пропущена, так как в psi-0.9.3 уже находятся распакованные исходные тексты
-----> Building psi <-----
dpkg-buildpackage: source package is psi
dpkg-buildpackage: source version is 0.9.3-1
dpkg-buildpackage: source changed by root <root@shulik-station.office.donec.net>
dpkg-buildpackage: host architecture i386
dpkg-checkbuilddeps: Unmet build dependencies: libqt3-mt-dev (>= 3.0.5) qt3-dev-tools (>= 3.1.1-2) qca-dev
dpkg-buildpackage: Build dependencies/conflicts unsatisfied; aborting.
dpkg-buildpackage: (Use -d flag to override.)
----> Cleaning up object files <-----
Cleaning in directory .
dpkg-checkbuilddeps: Unmet build dependencies: libqt3-mt-dev (>= 3.0.5) qt3-dev-tools (>= 3.1.1-2) qca-dev
You do not appear to have all build dependencies properly met.
If you have the pbuilder package installed, you can run
/usr/lib/pbuilder/pbuilder-satisfydepends as root to install the
required packages, or you can do it manually using dpkg or apt using
the error messages just above this message.
Error while building psi!
Some error occured building package
shulik-station:/mnt/data/DEVEL/psi-0.9.3# /usr/lib/pbuilder/pbuilder-satisfydepends
-> Attempting to parse the build-deps : pbuilder-satisfydepends,v 1.19 2005/06/03 12:07:39 dancer Exp $
-> Considering debhelper (>> 4.0.0)
-> Trying debhelper
-> Considering libqt3-mt-dev (>= 3.0.5)
-> Trying libqt3-mt-dev
-> Considering libqt3-headers
-> Trying libqt3-headers
-> Considering qt3-dev-tools (>= 3.1.1-2)
-> Trying qt3-dev-tools
-> Considering qca-dev
-> Trying qca-dev
-> Cannot install qca-dev; apt errors follow:
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
Уже установлена самая новая версия debhelper.
Уже установлена самая новая версия libqt3-headers.
Некоторые пакеты невозможно установить. Возможно, Вы просите невозможного,
или же используете нестабильного дистрибутив, и запрошенные Вами пакеты
ещё не созданы или были удалены из Incoming.
Следующая информация возможно поможет Вам:
Пакеты, имеющие неудовлетворённые зависимости:
qca-dev: Зависит: libqca1 (= 1.0-6) но он не будет установлен
E: Сломанные пакеты
E: Could not satisfy build-dependency.
shulik-station:/mnt/data/DEVEL/psi-0.9.3#"Так не возможно
Не оступиться,
Не избежать высоты.
Остановиться нам еще можно,
Есть еще шаг до черты." © А.Горшенев
Не оступиться,
Не избежать высоты.
Остановиться нам еще можно,
Есть еще шаг до черты." © А.Горшенев
-
sveta_067
- Сообщения: 219
Re: Сборка из сырцов ;)
Я точно не могу сказать но помоему требуется apt-get install -f
СССР - ВСЕМУ МИРУ ПРИМЕР!
За коммунистами пойдешь - дорогу в жизни найдешь!
От ленинской науки , крепнут разум и руки!
Советскому патриоту - любой подвиг в охоту!
qwebix -- хостинг VPS
За коммунистами пойдешь - дорогу в жизни найдешь!
От ленинской науки , крепнут разум и руки!
Советскому патриоту - любой подвиг в охоту!
qwebix -- хостинг VPS
-
shulik
- Сообщения: 256
- ОС: OpenSuse 11 / FreeBSD 7.0
Re: Сборка из сырцов ;)
(sveta_067 @ Пятница, 26 Августа 2005, 16:45) писал(а):Я точно не могу сказать но помоему требуется apt-get install -f
Вобщем-то истоки проблемы нашел - щас в unstable происходит переход на новую qt и там есть с этим глюк. а вот как откатится по версии назад - например, на Сарж как не нашел?
"Так не возможно
Не оступиться,
Не избежать высоты.
Остановиться нам еще можно,
Есть еще шаг до черты." © А.Горшенев
Не оступиться,
Не избежать высоты.
Остановиться нам еще можно,
Есть еще шаг до черты." © А.Горшенев
-
t.t
- Бывший модератор
- Сообщения: 7390
- Статус: думающий о вечном
- ОС: Debian, LMDE
Re: Сборка из сырцов ;)
Вы хотите откатить только несколько отдельных пакетов, правильно я понимаю? В первую очередь нужно отредактировать /etc/apt/sources.list, добавив в него строки, аналогичные анстейбловым, но для тестинга или стейбла. Затем в aptitude можно, нажав v на нужном пакете, выбрать любую из доступных версий. Возможно, придётся зазрулить руками некоторые зависимости, но через тот же aptitude это делается просто.(shulik @ Пятница, 26 Августа 2005, 16:55) писал(а):а вот как откатится по версии назад - например, на Сарж как не нашел?
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
-
shulik
- Сообщения: 256
- ОС: OpenSuse 11 / FreeBSD 7.0
Re: Сборка из сырцов ;)
(t.t @ Пятница, 26 Августа 2005, 22:36) писал(а):Вы хотите откатить только несколько отдельных пакетов, правильно я понимаю? В первую очередь нужно отредактировать /etc/apt/sources.list, добавив в него строки, аналогичные анстейбловым, но для тестинга или стейбла. Затем в aptitude можно, нажав v на нужном пакете, выбрать любую из доступных версий. Возможно, придётся зазрулить руками некоторые зависимости, но через тот же aptitude это делается просто.(shulik @ Пятница, 26 Августа 2005, 16:55) писал(а):а вот как откатится по версии назад - например, на Сарж как не нашел?
Щас попробую. А пока есть такой вопрос:
Код: Выделить всё
skyscraper:/etc# skyscraper:/usr/bin# apt-build --rebuild build-source memstat
march: no such variable at /etc/apt/apt-build.conf line 5
Building the following packages from source:
memstat
-----> Installing build dependencies (for memstat) <-----
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
-----> Downloading memstat source (memstat 0.4) <-----
-----> Updating package lists <-----
В кэше http://security.debian.org stable/updates/main Packages
..........................
В кэше ftp://ftp.ru.debian.org stable/contrib Release
Чтение списков пакетов... Готово
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
Нужно загрузить 22,4kB архивов с исходными текстами.
Распаковка исходных текстов пропущена, так как в memstat-0.4 уже находятся распакованные исходные тексты
-----> Building memstat <-----
dpkg-buildpackage: source package is memstat
dpkg-buildpackage: source version is 0.4
dpkg-buildpackage: source maintainer is root <root@skyscraper.matrixhome.net>
dpkg-buildpackage: host architecture is amd64
debian/rules clean
test -f memstat.c -a -f debian/rules
rm -f build
rm -rf *~ *.o memstat debian/tmp debian/files* debian/substvars
debian/rules build
test -f memstat.c -a -f debian/rules
/usr/bin/make prefix=/usr
make[1]: Entering directory `/mnt/raid/apt-build/memstat-0.4'
cc -O2 -Wall memstat.c -o memstat
cc: ": No such file or directory
make[1]: *** [memstat] Ошибка 1
make[1]: Leaving directory `/mnt/raid/apt-build/memstat-0.4'
make: *** [build] Ошибка 2
----> Cleaning up object files <-----
test -f memstat.c -a -f debian/rules
rm -f build
rm -rf *~ *.o memstat debian/tmp debian/files* debian/substvars
Error while building memstat!
Some error occured building packageПри этом в системе все имеется. /usr/bin/cc -> /etc/alt.../cc -> /usr/bin/gcc -> /usr/bin/gcc-3.3 И вот чего ему не хватает? А обычный apt-build install mysql-server например кричит: "Не могу найти пакет. Может он уже установлен? Удалите его сначала."
А команда apt-build --rebuild build-source mysql-server приводит вот к чему:
Код: Выделить всё
skyscraper:/usr/bin# apt-build --rebuild build-source mysql-server
march: no such variable at /etc/apt/apt-build.conf line 5
Building the following packages from source:
mysql-client
libmysqlclient12-dev
mysql-common
libmysqlclient12
mysql-server
-----> Installing build dependencies (for mysql-dfsg) <-----
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
W: Не могу найти пакет mysql-dfsg
E: Не найдено ни одного пакета
-----> Downloading mysql-dfsg source (mysql-dfsg 4.0.24-10) <-----
-----> Updating package lists <-----
В кэше http://security.debian.org stable/updates/main Packages
.....
В кэше ftp://ftp.ru.debian.org stable/contrib Release
Чтение списков пакетов... Готово
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
Нужно загрузить 10,0MB архивов с исходными текстами.
Получено:1 [url=ftp://ftp.ru.debian.org]ftp://ftp.ru.debian.org[/url] stable/main mysql-dfsg 4.0.24-10 (dsc) [946B]
Получено:2 [url=ftp://ftp.ru.debian.org]ftp://ftp.ru.debian.org[/url] stable/main mysql-dfsg 4.0.24-10 (tar) [9924kB]
Получено:3 [url=ftp://ftp.ru.debian.org]ftp://ftp.ru.debian.org[/url] stable/main mysql-dfsg 4.0.24-10 (diff) [96,1kB]
Получено 10,0MB за 2m11s (76,1kB/c)
dpkg-source: extracting mysql-dfsg in mysql-dfsg-4.0.24
-----> Building mysql-dfsg <-----
E: Не могу найти пакет mysql-dfsg
W: Не могу найти пакет mysql-dfsg
E: Не найдено ни одного пакета
Use of uninitialized value in string eq at /usr/bin/apt-build line 288.
Use of uninitialized value in string eq at /usr/bin/apt-build line 288.
Use of uninitialized value in concatenation (.) or string at /usr/bin/apt-build line 299.
Use of uninitialized value in concatenation (.) or string at /usr/bin/apt-build line 299.
E: Невозможно найти пакет с исходными текстами для
Use of uninitialized value in concatenation (.) or string at /usr/bin/apt-build line 301.
Use of uninitialized value in concatenation (.) or string at /usr/bin/apt-build line 301.
Can't chdir(-): No such file or directory at (eval 1) line 3
main::__ANON__('-') called at /usr/bin/apt-build line 301
main::build('mysql-dfsg', 4.0.24, -10) called at /usr/bin/apt-build line 563
main::build_source called at /usr/bin/apt-build line 81
skyscraper:/usr/bin#ЗЫ: Все это происходит в сарже 3.1 на Атлоне64... (хотя на ix86 то же самое)
"Так не возможно
Не оступиться,
Не избежать высоты.
Остановиться нам еще можно,
Есть еще шаг до черты." © А.Горшенев
Не оступиться,
Не избежать высоты.
Остановиться нам еще можно,
Есть еще шаг до черты." © А.Горшенев
-
Cap. J2A
- Сообщения: 300
Re: Сборка из сырцов ;)
(shulik @ Пятница, 26 Августа 2005, 18:07) писал(а):Стоит у меня sarge 3.1 в апте у которого прописаны и stable и unstable и testing deb и deb-src. Уже не раз оттуда апдейтился.
Тогда это уже не sarge, а sid. Ну а пользуясь нестабильным веткой, надо быть готовым ко всяким неожиданностям, в том числе и неудовлетворенным зависимостям. И чтобы быть на самом свежем, нужно понимать как и что делать. Если же ты не совсем чувствуешь в себе силы разбираться с debian самостоятельно, то стоит подумать, о том, чтобы убрать testing и unstable из /etc/apt/sources.list
Лично я, пользуясь и sarge и woody, не прописывал deb-src в /etc/apt/sources.list, а нужные пакеты (напр. gajim, tkabber) собирал методом "бэкбилд". Т.е. скачивал с debian.org нужные файлы (.orig.tar.gz, .dsc, .diff.gz ), смотрел в .dsc build-depends, делал apt-get install нужным пакетам. Потом dpkg-source -x packet-version.dsc, если необходимо, изменял опции сборки в debian/rules, добавлял в changelog информацию о изменениях, делал fakeroot debian/rules binary, либо debuild -us -uc.
Ну, и наконец, вопрос: цель пересборки пакетов из исходников (тем более со stable, т.е. те, которые уже есть в пакетах)? Быть может ты выбрал неправильный способ для достижения своей цели?
Теперь, подробнее о твоих ошибках:
1.
Код: Выделить всё
march: no such variable at /etc/apt/apt-build.conf line 5Тебе это не бросилось в глаза?
2.
Код: Выделить всё
cc -O2 -Wall memstat.c -o memstat
cc: ": No such file or directoryА у тебя hello.c то компилируется?
3. Руками (т.е. без apt-build) пакеты собираются?
Debian GNU/Linux 3.1 2.6.12-1-k7 на AXP1700+/nF2/Radeon 9600 (debsmart)
Debian GNU/Linux 3.1 2.6.15.1 на hp compaq nx9020 (moby)
:Wq
E492: Not an editor command: Wq
Debian GNU/Linux 3.1 2.6.15.1 на hp compaq nx9020 (moby)
:Wq
E492: Not an editor command: Wq
-
shulik
- Сообщения: 256
- ОС: OpenSuse 11 / FreeBSD 7.0
Re: Сборка из сырцов ;)
(Cap. J2A @ Суббота, 27 Августа 2005, 12:56) писал(а):Если же ты не совсем чувствуешь в себе силы разбираться с debian самостоятельно, то стоит подумать, о том, чтобы убрать testing и unstable из /etc/apt/sources.list
чувствую - потому и разбираюсь
(Cap. J2A @ Суббота, 27 Августа 2005, 12:56) писал(а):Ну, и наконец, вопрос: цель пересборки пакетов из исходников (тем более со stable, т.е. те, которые уже есть в пакетах)? Быть может ты выбрал неправильный способ для достижения своей цели?
Цели самые разные. Начиная от сборки в образовательных целях, заканчивая с оптимизацией работы сервера на Атлон 64 пересборой с -O3
(Cap. J2A @ Суббота, 27 Августа 2005, 12:56) писал(а):Теперь, подробнее о твоих ошибках:
1.Код: Выделить всё
march: no such variable at /etc/apt/apt-build.conf line 5
Тебе это не бросилось в глаза?
Бросилось, но дело не в этом. Я думаю если б в этом, но том бы и вылетело.
(Cap. J2A @ Суббота, 27 Августа 2005, 12:56) писал(а):2.Код: Выделить всё
cc -O2 -Wall memstat.c -o memstat cc: ": No such file or directory
А у тебя hello.c то компилируется?
Я вхожу в исходники стянутые apt-build и они компилятся dpkg-buildpackage на ура
(Cap. J2A @ Суббота, 27 Августа 2005, 12:56) писал(а):3. Руками (т.е. без apt-build) пакеты собираются?
См. выше
"Так не возможно
Не оступиться,
Не избежать высоты.
Остановиться нам еще можно,
Есть еще шаг до черты." © А.Горшенев
Не оступиться,
Не избежать высоты.
Остановиться нам еще можно,
Есть еще шаг до черты." © А.Горшенев
-
Cap. J2A
- Сообщения: 300
Re: Сборка из сырцов ;)
(shulik) писал(а):Цели самые разные. Начиная от сборки в образовательных целях, заканчивая с оптимизацией работы сервера на Атлон 64 пересборой с -O3
Ну sarge для amd64 pure-64 есть. Пересобирать тотально с O3 не вижу смысла. Тем более, при игре ключами gcc можно получить нестабильно работающий сервер. IMHO, в вопросе серверов прирост производительности в 10-15% за счёт надёжности\стабильностьи не оч. хорошо. В крайнем случае, можно собрать особо "тяжелые" приложения. Но пересобирать тотально -- IMHO, овчинка не стоит выделки.
(shulik) писал(а):Я вхожу в исходники стянутые apt-build и они компилятся dpkg-buildpackage на ура
Тогда я пас. Ставить apt-build и тянуть исходники какого-нибудь пакета, чтобы проверить, мне не хочется. Тем более, ты это делаешь 'just for fun'.
P.S. А уж пересобирать СУБД-сервер вообще никакого смысла нет. У СУБД узкое место -- hdd/память, а не проц.
Debian GNU/Linux 3.1 2.6.12-1-k7 на AXP1700+/nF2/Radeon 9600 (debsmart)
Debian GNU/Linux 3.1 2.6.15.1 на hp compaq nx9020 (moby)
:Wq
E492: Not an editor command: Wq
Debian GNU/Linux 3.1 2.6.15.1 на hp compaq nx9020 (moby)
:Wq
E492: Not an editor command: Wq