[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: траблы с apt-get build-dep



On Thu, May 18, 2006 at 01:27:29PM +0400, Dmitry E. Oboukhov wrote:
> пошел я на другую машинку:
> 
> # apt-get build-dep fluxbox 
> Чтение списков пакетов... Готово
> Построение дерева зависимостей... Готово
> E: Зависимости для сборки fluxbox не могут быть удовлетворены.
> 
> дальше 
> dpkg-buildpackage -rfakeroot -b 
> собирать отказывается:
> 
> $ dpkg-buildpackage -rfakeroot -b    
> dpkg-buildpackage: source package is fluxbox
> dpkg-buildpackage: source version is 0.9.14-1.1
> dpkg-buildpackage: source maintainer is Amaya Rodrigo Sastre
> <amaya@debian.org>
> dpkg-buildpackage: host architecture is i386
> dpkg-checkbuilddeps: Unmet build dependencies: libxft-dev
> libxinerama-dev libxft-dev libxft-dev libxinerama-dev libimlib2-dev
> libgtk2.0-dev
> dpkg-buildpackage: Build dependencies/conflicts unsatisfied; aborting.
> dpkg-buildpackage: (Use -d flag to override.)
> 
> 
> dpkg-buildpackage -rfakeroot -b -d нормально собирает как stable
> fluixbox, так и testing
> 
> debian/rules тоже естественно собирает
> 
> что делать ума не приложу... край как неудобно руками build-dep
> зависимости ставить...

Тебе ж уже сказали: не мешай etch c sarge бездумно. Если так уж лень
debian/control ручками править, а новый софт хоцца, тогда проапдейтся до
etch целиком.

> 
> 
> PS: на этой машинке прописаны те же репозитарии что и на той что была в
> предыдущем случае
> 
> это локальное зеркало пакетов (src не зеркалятся, поэтому
> src-репозитарий отправлен на ftp.debian.org)
> 
> $ cat /etc/apt/sources.list
> deb http://debian.fs.avanto.lan/debian sarge main contrib non-free
> deb-src http://ftp.debian.org/debian sarge main contrib non-free
> deb http://security.debian.org/ sarge/updates main contrib non-free
> deb-src http://security.debian.org/ sarge/updates main contrib non-free
> deb http://debian.fs.avanto.lan/debian etch main contrib non-free
> deb-src http://ftp.debian.org/debian etch main contrib non-free
> deb http://security.debian.org/ etch/updates main contrib non-free
> deb-src http://security.debian.org/ etch/updates main contrib non-free
> 
> $ cat /etc/apt/apt.conf.d/00stable 
> APT::Default-Release "stable";
> 
> 
> попробовал заменить свое зеркало на ftp.debian.org
> результата не дало
> проблемы видимо не в подключении репозитариев
> а то что результат повторяется на двух машинках наводит на размышлизмы
> :-\
> 
> подумал я, подумал и убрал из apt'а упоминание о testing:
> 
> # apt-get build-dep fluxbox
> Чтение списков пакетов... Готово
> Построение дерева зависимостей... Готово
> НОВЫЕ пакеты, которые будут установлены:
> build-essential libexpat1-dev libfontconfig1-dev libfreetype6-dev libxft-dev pkg-config
> 
> и оно работает

Как и следовало ожидать.

> вот интересно теперь несколько моментов:
> 1. как оно умудряется собрать fluxbox без этих пакетов?

С какой стати? Пакеты поставились, fluxbox собрался.
Если ты про свои первые эксперименты - там ты сам руками эти пакеты установил.
Для ./configure && make (как и для debian/rules) не имеет значения, какие
у тебя были конкретные номера версий/подверсий библиотек, главное, чтобы
что-то совместимое в системе было. А для dpkg-buildpackage, который
debian/control читает и им руководствуется, они имеют значение.

> это видимо бага в описании fluxbox- build-dep'ов? реально эти либы не
> нужны?

Ошибаешься.

> или когда их нет просто автоматом какие-то возможности make вырубил?
> кто поопытнее опишите плиз процесс

Не make, а ./configure. Такое возможно. Но не в данном случае.


> 2. и как описывать в sources.list/конфигах apt ссылки на разные
> репозитарии? (в смысле тестинг и стабле)?
> то есть я раньше писал 
> apt-get install бла-бла/testing
> или
> apt-get -t testing install бла-бла
> 
> а теперь получается одно с другим не работает?
> это мешает build-dep'у
> 
> и как сие можно разрулить?

Читай man apt_preferences до просветления. Но предупреждаю: pinning -
это геммор.

> то есть я так понимаю что build-dep плюет на то что в конфиге написано
> APT::Default-Release "stable"; лезет в тестинг (как в самый новый)
> оттуда получает не ту версию на которую указана жесткая зависимость
> и обламывается
> так?

Он лезет в testing за тем, чего нет в stable. Кстати, убери-ка ты эту бяку
APT::Default-Release...

а вместо нее напиши что-нить типа

Package: *
Pin: release a=testing
Pin-Priority: 200

в apt/preferences. Посмотри, что выйдет.
 
> может я apt неправильно конфигурирую?

Все возможно ;)

-- 
Cтанислав



Reply to: