After sending my first Linux Lazarus application to beta testers for evaluation and testing, I got complains even from those advanced users because of alot of application dependencies:
Components on the form: - TDataSource - TDBF - TActionList - TMainMenu - TImageList - TSaveDialog - TPopupMenu - TTimer - TSpeedButton - TComboBox - TPanel - TListBox - TSplitter - TIPHtmlPanel - TStatusBar ldd against executable report following dependancies: linux-gate.so.1 => (0xffffe000) libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0xb7f57000) libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0xb7e90000) libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0xb7e7a000) libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0xb7b86000) libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0xb7b4b000) libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb7ac2000) libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0xb7abe000) libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0xb7aba000) libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0xb7a81000) libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0xb7a68000) libdl.so.2 => /lib/tls/libdl.so.2 (0xb7a64000) libpthread.so.0 => /lib/tls/libpthread.so.0 (0xb7a51000) libcrypt.so.1 => /lib/tls/libcrypt.so.1 (0xb7a23000) libc.so.6 => /lib/tls/libc.so.6 (0xb78ec000) libXrandr.so.2 => /usr/X11R6/lib/libXrandr.so.2 (0xb78e8000) libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0xb78e0000) libXinerama.so.1 => /usr/X11R6/lib/libXinerama.so.1 (0xb78dd000) libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0xb78ce000) libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0xb78c6000) libcairo.so.2 => /usr/lib/libcairo.so.2 (0xb787d000) libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb784e000) libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0xb7845000) libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb783c000) libm.so.6 => /lib/tls/libm.so.6 (0xb7815000) /lib/ld-linux.so.2 (0xb7feb000) libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0xb77f0000) libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb7783000) libz.so.1 => /usr/lib/libz.so.1 (0xb7771000) libpng12.so.0 => /usr/lib/libpng12.so.0 (0xb774b000) libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb772b000) There are libraries in this list not used directly from my code. For example libXinerama.so.1 which is related to double monitor support. By removing Interfaces from uses clause, things are getting mush better, only following libs are reported as dependencies: linux-gate.so.1 => (0xffffe000) libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0xb7f11000) libdl.so.2 => /lib/tls/libdl.so.2 (0xb7f0d000) libc.so.6 => /lib/tls/libc.so.6 (0xb7dd6000) /lib/ld-linux.so.2 (0xb7feb000) But application won't work :-) ERROR: No widgetset object. Plz check if the unit "interfaces" was added to the programs uses clause. [FORMS.PP] ExceptionOccurred Sender=Exception Exception=No widgetset object. Plz check if the unit "interfaces" was added to the programs uses clause. Stack trace: $08051120 TApplication.HandleException No widgetset object. Plz check if the unit "interfaces" was added to the programs uses clause. Stack trace: $08051120 [FORMS.PP] ExceptionOccurred - Is it possible somehow to avoid including all these dependencies? - Can someone direct me on how statically include libraries to executable? I know about risks, list members helped me alot on this, but I would like to test it. Regards, Panagiotis _________________________________________________________________ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives