On Sat, Apr 29, 2006 at 06:47:49PM +0400, Dmitry V. Levin wrote: > Беда в том, что эти Libs зачастую избыточны. Я, кажется, сейчас начну > повторять что-то про --as-needed. Кстати, несколько месяц назад я провёл исследование проблемы излишней линковски в Сизифе. Согласно проведенному мной исследованию... :) каждый бинарь в среднем линкуется с количеством библиотек почти вдове большем, чем реально использует. (Хм. "Линкуется с количеством"... Трудности языка.) Поскольку --as-needed почти полностью решает проблему, долго писать об этом не буду. Вот выдержка из исследования. =item unneed I.e. no undefined symbols is resolved into this shared library the binary is linked against. To put it another way, the library is linked in but possibly unused. Example: 7colors /usr/bin/sevencolors libICE.so.6 7colors /usr/bin/sevencolors libSM.so.6 7colors /usr/bin/sevencolors libX11.so.6 7colors /usr/bin/sevencolors libXext.so.6 7colors /usr/bin/sevencolors libXi.so.6 7colors /usr/bin/sevencolors libart_lgpl.so.2 7colors /usr/bin/sevencolors libaudiofile.so.0 7colors /usr/bin/sevencolors libdb.so.2 7colors /usr/bin/sevencolors libdl.so.2 7colors /usr/bin/sevencolors libesd.so.0 7colors /usr/bin/sevencolors libgmodule-1.2.so.0 7colors /usr/bin/sevencolors libm.so.6 To make it clear, the following libraries are actually used by 7colors (directly): libc.so.6 libgdk-1.2.so.0 libgdk_imlib.so.1 libglib-1.2.so.0 libgnome.so.32 libgnomesupport.so.0 libgnomeui.so.32 libgtk-1.2.so.0 Now some stats (i.e. "most unneded libraries"). $ cut -f3 unneed |sort |uniq -c |sort -n |tail 1037 libc.so.6 1207 libX11.so.6 1240 libSM.so.6 1244 libICE.so.6 1247 libgcc_s.so.1 1511 libXext.so.6 2066 libz.so.1 3164 libpthread.so.0 3177 libdl.so.2 5348 libm.so.6 $ You see libm.so.6 is plugged by g++ by default.