On Sat, Apr 29, 2006 at 12:26:37PM +0400, Konstantin A. Lepikhov wrote: > Saturday 29, at 02:29:43 AM you wrote: > > On Sat, Apr 29, 2006 at 12:56:43AM +0400, Alexey Tourbin wrote: > > > On Sat, Apr 29, 2006 at 12:39:03AM +0400, Mikhail Zabaluev wrote: > > > > > Также интересно, считать ли это багой упаковки -devel, если список > > > > > Requires ее не учитывает список в *.pc? > > > > > > > > Интересно было бы взглянуть на конкретные случаи, но в принципе да. > > > > > > Bug 9448 - libxml2-devel should require zlib-devel > > > https://bugzilla.altlinux.org/show_bug.cgi?id=9448 > > > > > > На самом деле для линковки с разделяемой библиотекой libxml2 библиотека > > > libz не нужна. То есть с флагом --as-needed линкер по идее должен эту > > > библиотеку выкинуть. То есть проблема стала ещё менее актуальной, но > > > всё же она имеется: не ясна точная семантика зависимостей в *.pc файлах. > > > > Собственно говоря, если посмотреть архив списка рассылки, то можно > > увидеть, что бардак в .pc-файлах, следуя которым приложения оказываются > > слинкованными со всем подряд, и был последней каплей для перехода от > > эксперименов с --as-needed к массовому внедрению --as-needed. > > > > Невозможно вправить мозги всем авторам и мантейнерам библиотек сразу, > > а вот включить --as-needed сразу гораздо доступнее. > таким образом получается, что требования в *.pc -devel части пакета - > наглая фикция и в расчет не берутся? Какие требования? "Requires:" (требования к наличию .pc-файлов) порождают зависимости (/usr/lib/rpm/pkgconfig.req). Других требований в .pc-файлах, кажется, нет. > И для них (требований в *.pc) > необходимо прописывать лишние BuildReq в пакете, требующем данный -devel > для сборки? Ты имеешь в виду "Libs:"? Их в первую очередь надо чистить, а уже потом порождать из них зависимости. Впрочем, патчи на pkgconfig.req, как обычно, приветствуются. > > > Если каждая разделяемая библиотека "замкнута", к чему мы стремимся, то > > > никаких зависимостей в *.pc файлах быть не должно. А для статической > > > линковски нужно "схлопывать" все зависимости по волновому алгоритму (всё > > > до чего можно дотянуться). > > > > Это верно, но ввиду несознательности и/или занятости авторов и мантейнеров > > библиотек добиться этой цели будет нелегко. > > но пинать апстрим на предмет лишних библиотек все-таки необходимо. Давай будем реалистами. Если, например, убрать "-lz -lm" из libxml-2.0.pc, то на какой-нибудь платформе сломается статическая сборка. Поэтому "-lz -lm" апстрим не уберёт. -- ldv