[devel] gdm-2.13.0.10-alt1

Sergey N. Yatskevich =?iso-8859-1?q?syatskevich_=CE=C1_altlinux=2Eru?=
Вт Мар 14 13:32:16 MSK 2006


В Втр, 14/03/2006 в 00:37 +0300, Dmitry V. Levin пишет:
> On Mon, Mar 13, 2006 at 11:18:44PM +0300, Dmitry V. Levin wrote:
> > On Mon, Mar 13, 2006 at 11:07:26PM +0300, QA Team Robot wrote:
> > > gdm - The GNOME Display Manager
> > > * Fri Mar 10 2006 Sergey N. Yatskevich <syatskevich на altlinux> 2.13.0.10-alt1
> > > - 2.13.0.10
> > > * Tue Mar 07 2006 Sergey N. Yatskevich <syatskevich на altlinux> 2.13.0.8-alt2
> > > - Disable stupid --as-needed flag for linker
> > > * Wed Feb 15 2006 Sergey N. Yatskevich <syatskevich на altlinux> 2.13.0.8-alt1
> > 
> > А почему, собственно говоря, stupid?
> 
> $ gcc -pipe -Wall -O2 -march=i586 -mcpu=i686 -Wall -Wmissing-prototypes -o test-ve-config test-ve-config.o -lglade-2.0 -lgtk-x11-2.0 -lxml2 -lz -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 ../vicious-extensions/libvicious.a
> 
> Это не --as-needed stupid, это Makefile'ы кривые.
> Сергей, вы уверены что хотите линковать gdm со всеми этими библиотеками?
За stupid приношу свои извинения, это я погорячился. В следующей сборке
уберу.

Далее по поводу кривых Makefile. "Кривые" или "прямые" это всегда IMHO
ибо недоказуемо (IMHO конечно:-), так что не обсуждаем.

По поводу библиотек необходимых для линковки. Есть мейнстрим, который
считает, что эти библиотеки необходимы и на мой взгляд менять
что-либо в рамках отдельно взятого дистрибутива вредно поскольку
умножает количество работы без адекватного результата. А результат
неадекватен, поскольку все упомянутые библиотеки так или иначе
используются приложениями GTK и GNOME и я не вижу ничего страшного
в их прилинкове. Т.е. конечно можно заниматься оптимизацией, однако
есть и более актуальные задачи.

Конкретнее:

-lglade-2.0   - библиотека загрузки описаний интерфейсов (используется
                всеми гномовскими программами и практически всеми
                GTK-шными).

-lgtk-x11-2.0 - X11-specific часть библиотеки виджетов GTK. Используется
                всеми.

-lxml2        - библиотека обработки XML используется всеми, кто
                использует хотя бы glade-2.

-lgdk-x11-2.0 - X11-specific часть библиотеки отрисовки GTK.
                Используется всеми.

-latk-1.0     - ATK - Accessibility ToolKit - используется всеми
                приложениями GNOME как минимум (а вроде бы и всеми
                GTK-шными).

-lgdk_pixbuf-2.0 - Обработка изображений GTK (в частности всех
                   пиктограмм). Используется всеми.

-lpango-1.0      - Библиотека отрисовки текстов. Используется всеми.

-lpangocairo-1.0 - CAIRO часть библиотеки pango. Сейчас используется
                   всеми.

-lcairo          - Библиотека отрисовки. Используется всеми хотя бы
                   как библиотека, используемая pango.

-lgobject-2.0    - библиотека поддержки классов GTK. Используется всеми.

-lgmodule-2.0    - библиотека загрузки дополнительных модулей.
                   Используется всеми, так как ей пользуется gdk_pixbuf
                   для подгрузки модулей обработки изображений
                   конкретного типа.

-lglib-2.0       - Ну а это вообще база, без неё нет ни GTK, ни GNOME.

Итого, все библиотеки из приведённого списка используются для работы
приложения (хотя, и не все напрямую). Таким образом при отказе от прямой
линковки ряда библиотек речь не может идти о реальном уменьшении
количества загружаемых в память библиотек, а только о снижении
прямой зависимости от ряда библиотек (что никоим образом не исключает
косвенную зависимость). Так стоит ли оно того.

> 
> _______________________________________________
> Devel mailing list
> Devel на lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel
-- 
Sergey N. Yatskevich <syatskevich на altlinux.ru>




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