On Tue, Dec 16, 2003 at 03:50:57PM +0300, Dmitry V. Levin wrote: > On Tue, Dec 16, 2003 at 06:16:48PM +0600, Alexey Morozov wrote: > > Он работает. Но работает не столько потому что Вы патчите libtool.m4, а > > потому что Вы патчите ltmain.sh, не давая ему проскакать по списку > > $dependency_libs (строка 2150 и ниже). А это, кстати, можно сделать, и не > > трогая libtool.m4. > У вас есть патч, который делает это лучше? Так давайте его сюда. Есть исправление. Подготовлю патч, отправлю лично. Видимо, завтра-послезавтра. > > P.S. Кстати, есть еще одна довольно-таки неприятная проблема: pkgconfig > > Да, конечно. Но > 1. пользователей pkgconfig меньше; Поставим вопрос ребром: rpm и BDB в их число не входят? :-) > 2. нельзя объять необъятное; Это точно :-). Можно сломать необъятное :-). > 3. до исправления pkgconfig очередь тоже дойдёт. :) Предупредите заранее, пожалуйста. Я сохраню бэкапы :-). > > самосборанная libgtk+2, c .la-файлами, отличие только в способе передачи > > аргументов от libtool к gcc). > А в чём, собственно, это отличие? -lsome vs /path/to/lib/libsome.so. Обратите внимание на отличие между способом линковки всяких atk (которые из сизифа, без .la) и glib (который самособранный, с .la): > > alex@pyro ~/tmp/libtool $ libtool --mode=link gcc -g -O -o test test.o > > `pkg-config --libs gtk+-2.0` > > gcc -g -O -o test test.o -Wl,--export-dynamic -lgtk-x11-2.0 > > -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangoxft-1.0 -lpangox-1.0 > > -lpango-1.0 /usr/lib/libgobject-2.0.so /usr/lib/libgmodule-2.0.so -ldl > > /usr/lib/libglib-2.0.so > > alex@pyro ~/tmp/libtool $ _ > $ grep ^Libs: /usr/lib/pkgconfig/gtk+-2.0.pc > Libs: -lgtk-${target}-2.0 На это я уже поглядел. А вот до strace руки не дошли. > $ strace -e trace=open pkg-config --libs gtk+-2.0 > [...] > open("/usr/lib/pkgconfig", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = > 3 > open("/usr/lib/pkgconfig/gtk+-2.0.pc", O_RDONLY) = 4 ... > Похоже, достаточно "просто" отучить "pkg-config --libs" от рекурсии, > или, ещё лучше, добавить pkg-config'у новый параметр, > включающий/выключающий эту рекурсию. Да, вероятно, это решит проблему. > P.S. Не пора ли нам с этой темой в devel@? Видимо, пора. Сейчас, переподпишусь только. Только, видимо, для меня сейчас все эти разборки с пакетизацией линукса - скорее побочная деятельность, постольку поскольку она нужна для собственных задач. Поэтому особенно активного участия не ожидайте.