[Lazarus] Lazarus GTK project dependencies

zeljko zeljko at holobit.net
Thu Apr 14 09:59:45 CEST 2011


On Thursday 14 of April 2011 09:47:57 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.

This is lazarus qtlcl dependency:

[linda at houston ~]$ ldd /usr/lib/lazarus/lazarus
        linux-gate.so.1 =>  (0x004fe000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x0032c000)
        libdl.so.2 => /lib/libdl.so.2 (0x00325000)
        libQt4Pas.so.5 => /usr/lib/libQt4Pas.so.5 (0x06b8b000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0x0016b000)
        librt.so.1 => /lib/librt.so.1 (0x0037f000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0x03435000)
        libz.so.1 => /lib/libz.so.1 (0x00368000)
        libc.so.6 => /lib/libc.so.6 (0x004ff000)
        /lib/ld-linux.so.2 (0x0014c000)
        libQtWebKit.so.4 => /usr/lib/libQtWebKit.so.4 (0x42159000)
        libQtGui.so.4 => /usr/lib/libQtGui.so.4 (0x02486000)
        libQtNetwork.so.4 => /usr/lib/libQtNetwork.so.4 (0x07447000)
        libQtCore.so.4 => /usr/lib/libQtCore.so.4 (0x06e61000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00856000)
        libm.so.6 => /lib/libm.so.6 (0x002f9000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00349000)
        libxcb.so.1 => /usr/lib/libxcb.so.1 (0x004bb000)
        libfreebl3.so => /lib/libfreebl3.so (0x034be000)
        libXrender.so.1 => /usr/lib/libXrender.so.1 (0x007d5000)
        libsqlite3.so.0 => /usr/lib/libsqlite3.so.0 (0x037eb000)
        libphonon.so.4 => /usr/lib/libphonon.so.4 (0x07777000)
        libpulse-mainloop-glib.so.0 => /usr/lib/libpulse-mainloop-glib.so.0 
(0x00df3000)
        libpulse.so.0 => /usr/lib/libpulse.so.0 (0x0772e000)
        libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0x00689000)
        libQtDBus.so.4 => /usr/lib/libQtDBus.so.4 (0x00d33000)
        libQtXml.so.4 => /usr/lib/libQtXml.so.4 (0x07404000)
        libXi.so.6 => /usr/lib/libXi.so.6 (0x00110000)
        libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x007ec000)
        libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x0084f000)
        libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x00843000)
        libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0x007e7000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x002b1000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x003f0000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0x00120000)
        libgthread-2.0.so.0 => /lib/libgthread-2.0.so.0 (0x00131000)
        libpng12.so.0 => /usr/lib/libpng12.so.0 (0x00388000)
        libgobject-2.0.so.0 => /lib/libgobject-2.0.so.0 (0x00945000)
        libSM.so.6 => /usr/lib/libSM.so.6 (0x00137000)
        libICE.so.6 => /usr/lib/libICE.so.6 (0x003b0000)
        libssl.so.10 => /usr/lib/libssl.so.10 (0x00c90000)
        libcrypto.so.10 => /lib/libcrypto.so.10 (0x009e6000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0x004db000)
        libpulsecommon-0.9.21.so => /usr/lib/libpulsecommon-0.9.21.so 
(0x07562000)
        libXtst.so.6 => /usr/lib/libXtst.so.6 (0x00d13000)
        libwrap.so.0 => /lib/libwrap.so.0 (0x02fb0000)
        libsndfile.so.1 => /usr/lib/libsndfile.so.1 (0x03907000)
        libasyncns.so.0 => /usr/lib/libasyncns.so.0 (0x02fa8000)
        libdbus-1.so.3 => /lib/libdbus-1.so.3 (0x007f6000)
        libexpat.so.1 => /lib/libexpat.so.1 (0x00486000)
        libuuid.so.1 => /lib/libuuid.so.1 (0x007e0000)
        libgssapi_krb5.so.2 => /lib/libgssapi_krb5.so.2 (0x00c2d000)
        libkrb5.so.3 => /lib/libkrb5.so.3 (0x075b9000)
        libcom_err.so.2 => /lib/libcom_err.so.2 (0x00141000)
        libk5crypto.so.3 => /lib/libk5crypto.so.3 (0x00c67000)
        libresolv.so.2 => /lib/libresolv.so.2 (0x004de000)
        libnsl.so.1 => /lib/libnsl.so.1 (0x02f8b000)
        libFLAC.so.8 => /usr/lib/libFLAC.so.8 (0x03979000)
        libvorbisenc.so.2 => /usr/lib/libvorbisenc.so.2 (0x039b8000)
        libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0x0348a000)
        libogg.so.0 => /usr/lib/libogg.so.0 (0x034b6000)
        libkrb5support.so.0 => /lib/libkrb5support.so.0 (0x002a2000)
        libkeyutils.so.1 => /lib/libkeyutils.so.1 (0x00d2e000)
        libselinux.so.1 => /lib/libselinux.so.1 (0x00797000)


> 
> Well, this reminds me why I use KDE and not Gnome.
> 
> How complete/stable is the Qt version of the LCL, and what version of Qt is
> needed ?

It's pretty complete and stable, we are using it for our production. Gtk2 does 
not have chance with our needs.AFAIK you already seen our erp app at lazarus 
day last summer, it's qtlcl app :)
Minimum required qt version is 4.5.0, but if you use old KDE installations, 
probably you have to build it by yourself. If you want I can send you rpms 
maded for older distros (Qt-4.6.4).


zeljko





More information about the Lazarus mailing list