[devel] Неисполняемый debug-файл

Alexey Tourbin at на altlinux.ru
Чт Фев 3 18:11:06 UTC 2011


On Thu, Feb 03, 2011 at 02:16:18PM +0300, Андрей Черепанов wrote:
> 3 февраля 2011 Alexey Tourbin написал:
> > On Thu, Feb 03, 2011 at 02:06:44PM +0300, Андрей Черепанов wrote:
> > > Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.x0RWtp
> > > find-requires: running scripts
> > > (files,lib,pam,perl,pkgconfig,pkgconfiglib,python,rpmlib,shebang,shell,st
> > > atic,symlinks) lib.req.files: ELF executable /usr/src/tmp/kbfx-
> > > buildroot/usr/lib/debug/usr/bin/kbfxconfigapp.debug is not executable
> > > ldd: ERROR: /usr/src/tmp/kbfx-
> > > buildroot/usr/lib/debug/usr/bin/kbfxconfigapp.debug: trace failed
> > > find-requires: ERROR: /usr/lib/rpm/lib.req failed
> > > 
> > > При этом в %buildroot/usr/bin всё в порядке. Сборка в локальной сизифной
> > > хэшернице.
> > 
> > Нельзя использовать шаблоны типа
> > %files
> > %_libdir/*
> > это цепляет /usr/lib/debug.
> Понял, спасибо

Забавный глюк обнаружил: пакет kmuddy требует libkmuddy, а пакет libkmuddy
требует kmuddy.  В результате в логе сборки наблюдаем

removing 171 sources from kmuddy-debuginfo and adding dependency on kmuddy-debuginfo
also prunning dir /usr/src/debug/kmuddy-1.0.1/BUILD-i586-alt-linux/kmuddy/dialogs
also prunning dir /usr/src/debug/kmuddy-1.0.1/kmuddy/dialogs
also prunning dir /usr/src/debug/kmuddy-1.0.1/libs
also prunning dir /usr/src/debug/kmuddy-1.0.1/BUILD-i586-alt-linux/kmuddy
also prunning dir /usr/src/debug/kmuddy-1.0.1/kmuddy
also prunning dir /usr/src/debug/kmuddy-1.0.1/BUILD-i586-alt-linux
also prunning dir /usr/src/debug/kmuddy-1.0.1
removing 363 sources from libkmuddy-debuginfo and adding dependency on libkmuddy-debuginfo
also prunning dir /usr/src/debug/kmuddy-1.0.1/BUILD-i586-alt-linux/libs
also prunning dir /usr/src/debug/kmuddy-1.0.1/BUILD-i586-alt-linux/plugins/converter
also prunning dir /usr/src/debug/kmuddy-1.0.1/BUILD-i586-alt-linux/plugins/mapper/plugins/speedwalk
also prunning dir /usr/src/debug/kmuddy-1.0.1/BUILD-i586-alt-linux/plugins/mapper/plugins/standard
also prunning dir /usr/src/debug/kmuddy-1.0.1/BUILD-i586-alt-linux/plugins/scripting
also prunning dir /usr/src/debug/kmuddy-1.0.1/BUILD-i586-alt-linux/plugins/vartrigs
also prunning dir /usr/src/debug/kmuddy-1.0.1/BUILD-i586-alt-linux/plugins/varviewer
also prunning dir /usr/src/debug/kmuddy-1.0.1/libs
...
http://git.altlinux.org/tasks/archive/done/_37/37944/build/200/i586/log

Тут по идее должны были оптимизироваться дупы в /usr/src/debug между
подпакетами.  Но оказывается, что тут пакеты зависят от самих себя,
и у них дупы "соптимизировалсь" сами с собой.  Мне казалось, что
я продумал вопрос mutual deletions:

4.0.4-alt100.15 build/interdep.c:
   368              // (pkg1 <-> pkg2) => (pkg1-debuginfo <-> pkg2-debuginfo)
   369              if (Requires(r, r1.pkg2, r2.pkg2))
   370                  pruneSrc1(r1.pkg1, r2.pkg1);
   371              // "else" guards against mutual deletions
   372              else if (Requires(r, r2.pkg2, r1.pkg2))
   373                  pruneSrc1(r2.pkg1, r1.pkg1);

Но оказывается этого недостаточно, т.к. возникают self deletions.
Просьба пока не исправлять пакет kmuddy.

> -- 
> Андрей Черепанов
> ALT Linux
> cas на altlinux.ru


Подробная информация о списке рассылки Devel