Hallo. I have just got a bug report saying, that static instances of GNOME libraries are not useful. I wanted to oppose, so I have tried to link gnome-hello statically.
It failed and I have discovered many bugs. It seems, that nobody ever tried to use static libraries, otherwise these bugs would be discovered many years ago. So we should find all lower mentioned (and probably many unmentioned) static issues and fix them or we should disable static libraries for the whole platform. In current state, it's only a waste of disk space. What is your opinion? http://bugzilla.gnome.org/show_bug.cgi?id=405352 gcc -Wall gnome-hello.c -o gnome-hello -static $(pkg-config libgnomeui-2.0 --static --libs ; pkg-config libgnomeui-2.0 --cflags) /usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/bin/ld: cannot find -lgnome-keyring collect2: ld returned 1 exit status gcc -Wall gtk-hello.c -o gtk-hello -static $(pkg-config gtk+-2.0 --static --libs ; pkg-config gtk+-2.0 --cflags) /usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/bin/ld: cannot find -lgtk-x11-2.0 collect2: ld returned 1 exit status Trying manually it discovered tons of missing dependencies as undefined symbols. At least these private libraries are missing somewhere (in braces the most probable candidate): libesd (libgnome), libaudiofile (libgnome), libXrender (cairo), libxml2 (libfontconfig), libXau (libX11), libXdmcp (libbonobo), libORBitCosNaming-2 (libbonobo), libdbus-1 (libgnome-vfs-2, maybe also libdbus-glib-1). Packages atk, gtk+, glib, gnome-keyring, pango don't provide any static libraries - they use AM_DISABLE_STATIC. It implies need for -Wl,-Bstatic and -Wl,-Bdynamic to static pkgconfig linking options for all references to libraries from these packages. And finally it is required to solve fragility of loading: - gnome-vfs modules from statically linked binaries (probably by disabling of static linking of gnome-vfs). Following optional private libraries may be needed for static libgnomevfs-2: libdns_sd or libavahi, libssl or libgnutls. - GConf backends from statically linked binaries (probably by disabling of static linking of GConf). And if we decide to re-enable building of static instances of atk, gtk+, glib, gnome-keyring, pango, then we also need to find a proper fix for fragility of loading of gtk modules, pango modules and gmodule stuff. -- Best Regards / S pozdravem, Stanislav Brabec software developer --------------------------------------------------------------------- SUSE LINUX, s. r. o. e-mail: [EMAIL PROTECTED] Lihovarská 1060/12 tel: +420 284 028 966 190 00 Praha 9 fax: +420 284 028 951 Czech Republic http://www.suse.cz/ _______________________________________________ desktop-devel-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/desktop-devel-list
