[Lazarus] Lazarus GTK project dependencies
michael.vancanneyt at wisa.be
michael.vancanneyt at wisa.be
Thu Apr 14 11:14:10 CEST 2011
On Thu, 14 Apr 2011, Sven Barth wrote:
> Am 14.04.2011 10:17, schrieb michael.vancanneyt at wisa.be:
>>
>>
>> On Thu, 14 Apr 2011, Mattias Gaertner wrote:
>>
>>> On Thu, 14 Apr 2011 09:47:57 +0200 (CEST)
>>> michael.vancanneyt at wisa.be wrote:
>>>
>>>>
>>>>
>>>> On Thu, 14 Apr 2011, zeljko wrote:
>>>>
>>>>> On Thursday 14 of April 2011 09:33:03 Michael Van Canneyt wrote:
>>>>>> Hi,
>>>>>>
>>>>>> due to some other topic discussed on the mailing list, I thought
>>>>>> I'd check
>>>>>> the dependencies of a simple lazarus project. The result is shown
>>>>>> below.
>>>>>>
>>>>>> I did this similar exercise a year or two ago, and the result has
>>>>>> more than
>>>>>> tripled !
>>>>>>
>>>>>> I wonder, why all these dependencies ??
>>>>>> I mean, libselinux, libcairo, libexpat, libdirectfb, libfusion,
>>>>>> libdirect
>>>>>> (to name but a few), why do I need those ?
>>>>>
>>>>> You don't but gtk does (or cairo or some xlib).
>>>>
>>>> Hm. I did a quick check:
>>>>
>>>> fsb: >ldd /usr/lib/libgdk-x11-2.0.so.0 | wc -l
>>>> 44
>>>> fsb: >ldd /usr/lib/libqt-mt.so.3.3.8 | wc -l
>>>> 31
>>>> So Qt needs 31 libs, GTK uses 44. Many of the extra ones related to
>>>> direct framebuffer
>>>> access, which is total nonsense in a X environment.
>>>
>>> The gnome projects likes to split libs in smaller modules.
>>> The number of libs is not that important. The size is more important:
>>>
>>> A gtk2 program:
>>> ldd testgtk2 | cut -d' ' -f 3 | grep lib | xargs cat | wc -c
>>> 14932491
>>>
>>> A qt program:
>>> ldd testqt | cut -d' ' -f 3 | grep lib | xargs cat | wc -c
>>> 53583219
>>>
>>> So Qt uses about 50MB, GTK uses 15MB.
>>
>> I get quite a different count:
>>
>> fsb: >ldd /usr/lib/libqt-mt.so.3.3.8 | cut -d' ' -f 3 | xargs cat | wc -c
>> 7172681
>> fsb: >ldd /usr/lib/libgdk-x11-2.0.so.0 | cut -d' ' -f 3 | xargs cat | wc -c
>> 9804745
>>
>> 7 vs. 9 Mb. Just for the Qt/Gtk library.
>>
>
> But libgdk does not contain all dependencies that a GTK application needs
> (can't comment on QT though).
Indeed. for GTK, the problem is bigger:
fsb: >ldd /usr/lib/libgtk-x11-2.0.so.0 | cut -d' ' -f 3 | xargs cat | wc -c
10646417
It needs 10Mb, more than the Qt lib.
And I checked: the LCL app loads exactly the same list of libraries as the
GTK lib itself. I don't have an LCL Qt app to compare with.
Michael.
More information about the Lazarus
mailing list