Proposed Library List

Good Libraries -- Already part of LSB

libname so name Moblin version Comment Status
freetype libfreetype.so.6 2.3.5 Used by Firefox, Adobe Flash. Part of LSB
fontconfig libfontconfig.so.1 2.6.0 Used by Firefox, Adobe Flash. Part of LSB
libxml2 libxml2.so.2 2.7.3 Part of LSB
libpng libpng12.so.0 1.2.35 Part of LSB
libjpeg libjpeg.so.62 6b Part of LSB

Good Libraries -- Going into next spec

libname so name Moblin version Comment Status
nss libsmime3.so
libnss3.so
libssl3.so
3.12.3 Used by Adobe Flash. libnss3 and libssl3 are parts of LSB.
nspr libnspr4.so
libplds4.so
libplc4.so
4.7.3 Used by Adobe Flash. libnspr4.so is a part of LSB.
dbus-libs libdbus-1.so.3 2.6.0 Used by Firefox
libglade2 libglade-2.0.so.0 2.6.4
libpopt libpopt.so.0 1.15 Mats:
popt hasn't ever been really seriously an LSB candidate, but it's a widely used library for option parsing that a lot of people think is much better than the glibc stuff, which is fettered by the POSIX baggage + clunky extensions. It's not complex stuff. It's pretty stable I believe.
libXcursor libXcursor.so.1 1.1.9 Used by Skype
Note: Dependencies on low-level X11 libraries (libXfixes, libXcursor, etc.) often come from the fact that application (e.g Skype) ships some Qt stuff (or other top=level GUI libs), not relying on Qt presence in the system. And it is these Qt-relative libs who requires libX*, not the skype binary itself. However, for proprietary applications it is rather common to ship GUI libraries that depend on low level X11 stuff, so possibly it would be useful to include these libX* libs. One more note: this comment doesn't concern such libs as libXaw or libXm which are self-sufficient GUI libraries and normally don't appear as dependencies of other GUI libraries.
libXfixes libXfixes.so.3 4.0.3 Used by Skype
libXinerama libXinerama.so.1 1.0.3 Used by Skype
libXrandr libXrandr.so.2 1.3.0 Used by Skype
libXScrnSaver libXss.so.1 1.1.3 libXss used by Skype and gnome-control-center
libXv libXv.so.1 1.0.4 Used by Skype, Real Player.
One more point for adding this: there doesn't seem to be any plans on significantly changing libXv.so.1. Xorg guys are planning to implement new features in Xv2 instead.
xslt libxslt.so.1
libexslt.so.0
1.1.24 Mats:
I consider xslt an excellent candidate; it comes from the same place and is maintained with the same care as libxml2; its absence from LSB is more due to resource constraints than any actual objection.
libexif libexif.so.12 0.6.16 Rather stable lib, with quite rare updates (~1 per year). Not used widely, but can be useful for desktop apps, so possibly can be considered for inclusion
libexpat libexpat.so.1 2.0.1 A good candidate to add - used by quite a few apps, latest soname change was made 3.5 years ago (and the last release - 2 years ago).
libogg libogg.so.0 1.1.3 Stable, can be added
libvorbis libvorbis.so.0
libvorbisenc.so.2
libvorbisfile.so.3
1.2.0 Stable, can be added
SDL libSDL-1.2.so.0 1.2.13 Ok from stability point of view, though many distributions provide only libSDL itself, but not its satellites. On the other hand, these libs are primarily used by games, so no wonder that they are absent in server/enterprise systems. For Moblin users, they can be rather useful.
SDL_image libSDL_image-1.2.so.0 1.2.7
SDL_mixer libSDL_mixer-1.2.so.0 1.2.8
SDL_net libSDL_net-1.2.so.0 1.2.7
SDL_ttf libSDL_ttf-2.0.so.0 2.0.9
libXxf86vm libXxf86vm.so.1 1.0.2 In spec, req'd for OSVs but marked deprecated for ISVs. Warning if used.

Thread in lsb-discuss
libXxf86vm is deprecated in favor of Randr, though quite a few apps still use it. Not sure if we want this lib.
KeithP:
Xxf86vm is superseded by Xrandr; new apps should not be using this old library. However, old apps *do* use this, especially games. I don't know how we can get rid of this without asking app developers to rewrite stuff.

Libraries under review

Libraries with positive acceleration

Libraries which are dependencies of popular apps and are stable should be moved here. These are candidates for inclusion.

libname so name Moblin version Comment Status
libfakekey libfakekey.so.0 0.1 The first release of this library (0.1 in 2007) seems to be the only one up to now.
libXcomposite libXcomposite.so 0.4.0 Relatively new extensions, from the same series as libXfixes.

If we add X Fixes and Randr, why not to add X Damage and Composite extensions?

libXdamage libXdamage.so 1.1.1
bzip2-libs libbz2.so.1 1.0.5 Inclusion of libbz2 in LSB has a rather long (though not very eventful) history - see LSB Bugzilla. Actually, there are no significant objections against this lib, it just wasn't considered as urgently needed.
liblcms liblcms.so.1 1.18 Rather rare updates, no incompatible changes were detected (I guess relatively significant refactoring will happen in lcms2 which is under development now).
Similar to libexif, not used widely, but can be useful for desktop apps, so possibly can be considered for inclusion.
Mats:
color management - has been in LSB discussion in the past, fwiw, but always seemed too "unimportant" to be promoted beyond discussion (LSB has of course had more server focus historically)
gst-plugins-base libgstinterfaces-0.10.so 0.10.22 This lib comes together with libgstreamer-0.10.so.0 and other gstreamer libs. If we include gstreamer, we can include this one, too.
librsvg2 librsvg-2.so 2.26.0 Stable SVG rendering library, could be added.
libcroco libcroco-0.6.so 0.6.1 0.6.0 was released in 2004, 0.6.1 - in 2006, 0.6.2 - this year. Between 0.6.1 and 0.6.2, one function was simply dropped, so croco developers are not very careful with backward compatibility.

However, with the current development speed (some activity before the last release, but no mails in croco list since march, 2009), it would be safe to suggest that there would be no significant changes in the nearest future and it is ok to add libcroco to Moblin in its current state.

One more point for this lib - librsvg can be compiled with or without croco support. If we include libcroco, it will be ok to say that librsvg should provide croco possibilities.

aspell libaspell.so.15 0.60.6 libaspell itself seems to be a good candidate for inclusion. The only thing is that this is a C++ lib and we should be careful with symbols (not to include tricky binary symbols that can appear in one systems and be absent on others), but this is not a big problem.
libgphoto2 libgphoto2.so.2
libgphoto2_port.so.0
2.4.4 Useful stuff and, in general, rather good candidate. gphoto guys try to keep backward compatibility; however, this is guaranteed not for all interfaces, and successive releases of libgphoto are not fully compatible with each other.

So we can include these libs, but should be careful with list of interfaces to be included.

libtiff libtiff.so.3
libtiffxx.so.3
3.8.2 In general, ok to add. libtiff guys are careful with ABI changes.
However, there is a trick with Debian-based systems that use their own naming conventions - instead of libtiff.so.3 and libtiffxx.so.3, they use libtiff.so.4 and libtiffxx.so.0.

The reasons of such situation are explained
here.

The initial idea was good, but the problem is that the change was not picked up by upstream and not all distributions follow this way now.

But technically, Debian-based systems could easily provide libtiff.so.3 and libtiffxx.so.3 symlinks to be compatible with the others.

libsoup libsoup-2.4.so; libsoup-gnome-2.4.so 2.26.1 Developers are careful with API/ABI changes (-2.4.so libs were introduced not very long ago, to indicate incompatible changes with -2.2.so), so I guess these libraries can be added.
telepathy-farsight libtelepathy-farsight.so 0.0.6 Thought this is a very new stuff (version 0.0.2 was released in November, 2008), telepathy guys are usually careful with backward compatibility, so possibly we can safely add this.

One more consideration is why not to include farsight2 itself, if we are adding this library? "Farsight forms an integral part of the Telepathy framework".

Farsight2 is included in 'Gnome Blessed Dependencies', so its developers guarantee API/ABI stability.

farsight2 libgstfarsight-0.10.so.0 0.0.9
telepathy-mission-control libmissioncontrol-client.so 4.67 Can be added together with other telepathy parts.

According to its description, this is a rather important part.

unique libunique-1.0.so 1.0.6 Since 1.0, libunique's author guarantees API/ABI stability; libunique is included in 'Gnome Blessed Dependencies'.

This library can be included.

libbonobo libbonobo-2.so.0
libbonobo-activation.so.4
libbonoboui-2.so.0
2.24.1 libbonobo* are stable and seem to be quite popular. Can be included.

(though modern tendency is to migrate from bonobo to dbus, but not all apps follow this way)

libgcrypt libgcrypt.so.11 1.4.4 In general, stable and backward compatible. However, there are some symbols that are not public and such symbols are dropped/modified from time to time, so we should carefully select interfaces to be included.
libsamplerate libsamplerate.so.0 0.1.7 Comes from the same place as libsndfile.

Seems to have some usage, also quite stable, can be added

libsndfile libsndfile.so.1 1.0.17 Rather stable, seems to have some usage, so probably can be added
gmp libgmp.so.3 4.2.3 Can be added. In most aspects, backward compatibility is preserved, but there is a set of symbols that seem to be internal and should not be included in spec.
openldap liblber-2.4.so.2
libldap-2.4.so.2
libldap_r-2.4.so.2
2.4.12 Probably could be added. Very popular, binary compatibility is preserved within every branch.

The main problem here is the next openldap-2.5 release which will very likely be not backward compatible with 2.4. On the other hand, it's not completely clear when it will happen (at least not in the nearest days); and finally, OSVs will have to ship 2.4 for some time in any case.

libORBit-2 libORBit-2.so.0
libORBit-imodule-2.so.0
libORBitCosNaming-2.so.0
orbit-2.0/Everything_module.so
2.14.17 Orbit stuff is stable. Used by quite a few apps (though mostly from the gnome stack), and even more apps obtain liborbit* as dependency probably due to pkg-config & co.

So these libs can be included.

The only note is that there is no sense to include orbit modules (in particular, orbit-2.0/Everything_module.so mentioned here).

gnutls libgnutls-extra.so.26
libgnutls-openssl.so.26
libgnutls.so.26
2.6.6 gnutls developers are careful with backward compatibility. From time to time they do introduce incompatible changes, but then they honestly change the soname, too. This happens relatively rare, so it is probably ok to include these libraries.
libcanberra libcanberra.so 0.1 There was suggestion in the list to drop these libs a gnome internals.

However, I'm not completely sure that they cannot be useful for apps - for example, empathy uses them.

The libs are stable, so maybe it makes sense to add them.

libcanberra-gtk2 libcanberra-gtk.so 0.1
gnome-keyring libgnome-keyring.so 2.26.1 This is being pulled in into Moblin's web services framework. Adding it to the platform
for secure password storage would make sense. I think the ABI is changing but backwards compatible.

Libraries put in "Maybe" table in v0.6 spec

Need more information to clarify value and stability.

libname so name Moblin version Comment Status
gnome-desktop libgnome-desktop-2.so 2.26.0 Ross Burton: This is the modern GNOME integration library, I think nothing in Moblin
is using. I expect a lot of Moblin compliant distributions will ship it, but it shouldn't be part of Moblin. I'll have to get back to you onthis one.
gnome-menus libgnome-menu.so 2.26.1 Ross Burton: The applications pane in the toolbar uses this. I think the ABI is changing but backwards compatible. I'd call this an implementation detail and not part of the platform.
jana libjana-ecal.so; libjana.so 20090319
libical libical.so; libicalss.so; libicalvcal.so 0.43 In general, this is a useful thing.

Though at least a year or two ago it was not uncommon for applications to fork libical and use their own copies - they didn't rely on upstream ical, since it didn't always preserve backward compatibility.

However, the situation seems to be better now, so possibly we can include these. (But as usual, comments from experts would be useful)

PolicyKit-gnome-libs libpolkit-gnome.so 0.9.2
startup-notification libstartup-notification-1.so.0 0.9 On the one hand, when one tries to build something with libstartup-notification, the following error is dumped by default: “libstartup-notification should only be used if you understand that it's subject to frequent change, and is not yet supported as a fixed API/ABI or as part of the platform”.

On the other hand, this message has been in the header for years, and currently startup-notification evolves rather slowly - the last significant change was made this year, the previous one - in 2007, and the one before it - in 2005.

So possibly we could add this lib, though it would be better to consult someone who is familar with this stuff.

Libraries Probably Out (not in v0.6 release)

These are not included until further discussion due to various comments.

libname so name Moblin version Comment Status
mux libmux.so 0.3 This is being added to nbtk. No need to include.

mux is 'GTK+ widgets for Moblin' - that is, libmux is moblin-specific and not present in any other system.

I guess we should consult Moblin developers about its stability and inclusion in spec.

If we include this, then OSVs will have to adopt this lib for their systems. However, maybe this is rather useful lib and it is not hard to include it in any distribution?

libacl libacl.so.1 2.2.47 Mats:
it doesn't make much sense to add libacl without libattr. If doing these, I assume by implication that moblin supported filesystems provide the necessary support - do we know this will always be true? I believe the historical lack of support (which may be largely gone now) has been the blocker for this progressing in LSB.
Denis:
Hmm, even if the filesystem provides necessary support, what would prevent users/OSVs from mounting devices with 'noacl' option?

If we add libacl with libattr, maybe it would be better to notify developers that even if all necessary interfaces are present in the system, they can be actually useless?

libcurl libcurl.so.4 7.19.4 Mats:
libcurl causes some interesting problems, it is buildable with support for a zillion different services. For example, I discovered quite by accident today that there's code out there which expects libcurl to be configured with openssl and/or gnutls-ssl support, but the Moblin libcurl is not, it is instead configured (only) with the ssl3 support (that is, the "Netscape" version of secure sockets). We'd need to be rather precise about what the Moblin version of libcurl does and does not provide.
db4 libdb-4.7.so 4.7.25 The problem with libdb is that significant ABI changes happen quite often. The library soname is honestly updated every time - during the last 5 years, it evolved from libdb-4.1.so to libdb-4.7.so
pcre libpcre.so.0
libpcrecpp.so.0
libpcreposix.so.0
7.8 These could be good candidates, unless the discrepancy with Debian-based distributions. Debian maintains significantly modified pcre, and to indicate its difference with upstream they call it 'pcre3' and use 'so.3' suffix for the libraries.

Not sure, if it is easy to persuade OSVs to ship two pcre libs simultaneously.

Libraries Not Going in Spec

These are libraries we discussed and decided not to include.

libname so name Moblin version Comment Status
gtkhtml2 libgtkhtml-2.so.0 2.11.1 Not used widely. Its largest customer, GIMP, migrates to webkit since 2.6.

Note also that there is a gtkhtml-3 branch, designed primarily to be used by Evolution & co. However, its roadmap also says: "Evolution should move to Webkits, deprecating GtkHTML".

So I'd vote for omitting this library.

tcl libtcl8.5.so 8.5.6 Tcl/Tk is probably not the base choice for modern desktop apps and used very rarely.

Though these libs can be considered as stable, we probably can omit them.

tk libtk8.5.so 8.5.6
ncurses-libs libncurses.so.5
libncursesw.so.5
libtinfo.so.5
libform.so.5
libformw.so.5
libmenu.so.5
libmenuw.so.5
libpanel.so.5
libpanelw.so.5
libtic.so.5
5.6 LSB req'mt is sufficient.

Mats:
ncurses is for terminal programs. No need to make these compliant.
Denis: many graphical programs have terminal options.
Denis:
libtinfo (part of libncurses) is a Fedora-specific feature - Fedora developers isolated some terminfo symbols into this separate lib. All other distributions provide such symbols in ibncurses itself and don't have libtinfo at all. Even in Fedora, libtinfo is loaded automatically as libncurses dependency, so in general it is enough for applications to require libncurses only.

Unfortunately, for applications built inside Fedora itself (and it is likely that in Moblin, too) libtinfo may become a dependency. So how should we resolve this? Include libtinfo in spec and persuade OSVs to provide it (note that it is enough to provide a stub - all symbols may still be situated in libncurses)? Or teach ISVs to build their apps without getting libtinfo dependency?

apr libapr-1.so.0 1.3.3 Mats:
Apache Portable Runtime? is this really widely used outside Apache?
libart_lgpl libart_lgpl_2.so.2 2.3.20 This seems to be rather stable. However, modern applications prefer to use Cairo instead.
ccss libccss-1.so 0.2.0 This is the very new library (appeared in the end of 2008) and its interface is not stable.

Actually, this is something like top-level interface upon libcroco.

Moblin-web-browser depends on libccss-1.so.2; however, the last libccss release is 0.3.0 which is incompatible with 0.2.0 (and the library currently has soname 'libccss-1.so.3').

In general, I would not recommend to add such library to the specification. Not sure, what should we do with moblin-web-browser.

libXaw libXaw.so.7 1.0.5 Mats:
Some people think that "old" X11 technologies ought not to be promoted, such as libXaw and it's assorted variations which get new names. SuSE's chief X11 guy has yelled at LSB about including Xt, and thinking about Xaw and Xmu.
Xaw3d Xaw3d.so.7 1.5E
libXmu libXmu.so.6 1.0.4 ?? Group w/other libX.. libs?
libXpm libXpm.so.4 3.5.7 ?? Group w/other libX.. libs?
cyrus-sasl-lib libsasl2.so.2
sasl2/libanonymous.so
sasl2/libsasldb.so
2.1.23
krb5-libs libdes425.so.3
libgssapi_krb5.so.2
libgssrpc.so.4
libk5crypto.so.3
libkadm5clnt.so.5
libkadm5srv.so.5
libkdb5.so.4
libkrb4.so.2
libkrb5.so.3
libkrb5support.so.0
1.6.3 Kerberos security may be overkill for mobile apps. Likely came into list from server-targeted apps
gdbm libgdbm.so.3 1.8.3 Not sure if this is very useful for desktop apps. In this area, sqlite seems to be much more popular now.
libdbus-c++ libdbus-c++-1.so.0 0.5.1
libgnomeprint22 libgnomeprint-2-2.so.0 2.18.6 Nothing should be using these. libgnomeprint* is the deprecated
printing API for applications, and libgnomecups is used to implement
print status monitors and so on. These should be removed from Moblin.
libgnomeprintui libgnomeprintui-2-2.so.0 2.18.4
libgnomecups libgnomecups-1.0.so.1 0.2.3
libgnomekbd libgnomekbd.so; libgnomekbdui.so 2.26.0 Ross Burton: Implementation detail of the settings daemon, shouldn't be in the
platform.
gnome-panel libpanel-applet-2.so 2.26.1 Ross Burton: Should be removed from Moblin, I think we're shipping a few tools which
include GNOME panel applets which causes this to be pulled in.
libgnomecanvas libgnomecanvas-2.so.0 2.20.1.1 Should be removed from Moblin. Cairo is the superior alternative.

Moblin Important Applications List

Here are some results on the application analysis. To save the space, libraries that are already part of the spec and don't seem to be a subject to discuss are not mentioned.

App name App deps Part of compliance"New" or "Yes"
Adobe Flash Player 10 libfontconfig.so.1
libfreetype.so.6
libnss3.so
libssl3.so
libsmime3.so
libnspr4.so
libplc4.so
libplds4.so
Yes (LSB)
Yes (LSB)
New
New
New
New
New
New
Adobe AIR NSS and NSPR libs (similar to Reader, Adobe AIR has symlinks on system libraries)
libDCOP.so.4
libkdecore.so.4
libkwalletclient.so.1
(these 3 KDE-relative libs are used by a small libaddkey.so library)
moblin-web-browser libXfixes.so.3 (no ints used)
libXdamage.so.1 (no ints used)
libXcomposite.so.1 (no ints used)
libplc4.so (no ints used)
libplds4.so (no ints used)
libmozjs.so (no ints used)
libcroco-0.6.so.3 (no ints used)
libccss-1.so.2
libcluttermozembed.so.0
libmhs-1.0.so.0
libnbtk-1.0.so.704
libstartup-notification-1.so.0
libunique-1.0.so.0
libxpcom.so
libxul.so
bisho libdbus-1.so.3
libdbus-glib-1.so.2
libgnome-keyring.so.0
libmojito-client.so.1
libmojito-keystore.so.0
libmux.so.0
librest.so.0
libsoup-2.4.so.1
empathy libcanberra-gtk.so.0
libcanberra.so.0
libdbus-1.so.3
libdbus-glib-1.so.2
libebook-1.2.so.9
libedataserver-1.2.so.11
libglade-2.0.so.0
libgstinterfaces-0.10.so.0
libmissioncontrol-client.so.0
libsoup-2.4.so.1
libtelepathy-farsight.so.0
dates; contacts; tasks (eds-basd PIM) libgconf-2.so.4
libical.so.0
libicalss.so.0
libicalvcal.so.0
libpolkit-gnome.so.0
libgnomevfs-2.so.0
libsoup-2.4.so.1
sync-ui-syncevolution libgconf-2.o.4
libical.so.0
libicalss.so.0
libicalvcal.so.0
libpanel-applet-2.so.0
libpolkit-gnome.so.0
libsoup-2.4.so.1
hornsey libbickley-0.4.so.0
libkozo.so.0
libmux.so.0
libsoup-gnome-2.4.so.1
libtelepathy-farsight.so.0
Skype libXcursor
libXfixes
libXinerama
libXrandr
libXv
libXss
New
New
New
New
New
New
Real Player libXv New
Acrobat Reader openLDAP libs
libresolv.so.2 (for one of its plugins)
libidn.so.11 (required by libcurl shipped with the Reader).
Firefox libdbus-1.so.3
libfreetype.so.6 (LSB)
libfontconfig.so.1 (LSB)
New
Yes (LSB)
Yes (LSB)
Fluendo Elisa Player Pure Python app, no deps on binary elements
GyPSii
Opera Already in spec
OpenOffice libbz2.so.1
libgdbm.so.2 (used by python shipped with openoffice)
libgnomevfs-2.so.0
libjawt.so
libkabc.so.1
libkdecore.so.4
libkdeui.so.4
libkio.so.4
libnsl.so.1
libORBit-2.so.0
libpanel.so.5
libXaw.so.7
Gobby libatkmm-1.6.so.1
libcairomm-1.0.so.1
libgdkmm-2.4.so.1
libgiomm-2.4.so.1
libglibmm-2.4.so.1
libgtkmm-2.4.so.1
libpangomm-1.4.so.1
libavahi-glib.so.1
libgnomevfs-2.so.0
libgcrypt.so.11
libgnutls.so.26
libgtksourceview-2.0.so.0
libnet6-1.3.so.0
libsigc-2.0.so.0
libxml++-2.6.so.2
libtasn1.so.3
Calculator libdbus-1.so.3
libfreetype.so.6
libfontconfig.so.1
libglade-2.0.so.0
New
Yes (LSB)
Yes (LSB)
New
PIM
Media app
GEdit libfontconfig
libfreetype
libattr.so.1
libenchant.so.1
libgtksourceview-2.0.so.0
Yes (LSB)
Yes (LSB)
No
No
No
claws-mail libenchant.so.1
libetpan.so.13
libgcrypt.so.11
libgnutls.so.26
liblber-2.4.so.2
libldap-2.4.so.2
libpisock.so.9
libstartup-notification-1.so.0
cheese libdbus-1.so.3
libdbus-glib-1.so.2
libebook-1.2.so.9
libedataserver-1.2.so.11
libgnome-desktop-2.so.11
libgstinterfaces-0.10.so.0
librsvg-2.so.2
libsoup-2.4.so.1
libstartup-notification-1.so.0
GyPSii


Moblin Extended Application List

Future target apps/ISVs for which native apps exist and we hope can be ported to Moblin (or similar app).

App name App deps Part of compliance"New" or "Yes"
Scalado Photo
Fring
Yongzhong
TenCent QQ Already in spec (not far from being LSB-compatible)
Dayhand
Delta
Arphic
Swantha
Diopen
Thinkfree libnsl.so.1
libodbc.so
libodbcinst.so
Minigate
Citus
GreatWisdom
Hanwang
Redoffice libgnomevfs-2.so.0
libjawt.so
libORBit-2.so.0
libXau.so.6
libXinerama.so.1
libORBitCosNaming-2.so.0 (no ints used)
Neusoft
Fring
Fluendo
Axel
Grezzo
Fujitsu
NetDimension
Edia

Comments (5 total)

planning and roadmap

Tried to install Skype on netbook asus 1005HA, but missing libxss. In previous post it is mentioned that these might be implemented in next release. Can someone give me the planning and expected features of next releases?

Note: Found the libxss, so was able to install skype, but mic is not working together with pulseaudio :( Next issue to be fixed.

Comments for 'offices'

OpenOffice: we've analyzed a version without jre downloaded from openoffice.org. Versions in particular distributions may differ significantly.

RedOffice is OOo-based program produced in PRC. We've analyzed RedOffice 4.0.

Note that both OOo and RO have Java components (and one can actually see 'libjawt.so' among their dependencies).

As for ThinkFree, we've analyzed a version for netbooks. This is a pure Java program, but jre is shipped with TF. So the binary-level dependencies of TF are actually dependencies of its jre.

Pardon me for wondering why a

Pardon me for wondering why a pdf document display application would need LDAP?

:) No idea.

Actually, LDAP dependencies in Acrobat look quite strange - acrobat only has symlinks liblber.so and libldap.so that point to /usr/lib/liblber-2.4.so and /usr/lib/libldap-2.4.so correspondingly - that is, symlinks to system libraries.

So formally, these libs should be present in the system to make acrobat installation complete.

But at a first glance, no Acrobat files depend on these libs directly; so they are either used through dlopen (maybe in some plugin?) or these are just strange rudiments...

Apps Analysis - part 1

Here are some results on the application analysis. To save the space, libraries that are already part of the spec and don't seem to be a subject to discuss are not mentioned.

  • Opera - no problems, it is compatible even with LSB.
  • RealPlayer - uses libXv (already mentioned in the lib list).
  • Skype - uses libXcursor, libXfixes, libXinerama, libXrandr and libXv - all these are mentioned. Additionally, it uses libXss - a library provided in Moblin by libXScrnSaver; this lib is also mentioned in the spreadsheet prepared by the PRC team (as used by gnome-control-center).
  • Firefox - requires libdbus-1.so.3 - it is strange that this lib is not mentioned in the Spec at all, while libdbus-1-glib is included. Firefox also uses libfreetype.so.6 (in LSB, included in the lib list) and libfontconfig.so.1 (in LSB, but not included in the lib list).
  • Gedit uses libfontconfig and libfreetype, too. Additionally it uses libattr.so.1, libenchant.so.1 and libgtksourceview-2.0.so.0, none of which is currently mentioned in the list.
  • Adobe Reader requires openLDAP libs, libresolv.so.2 (for one of its plugins) and libidn.so.11 (required by libcurl shipped with the Reader). The two latter libs are not in the list.

Note: Dependencies on low-level X11 libraries (libXfixes, libXcursor, etc.) often come from the fact that application (Skype in our case) ships some Qt stuff (or other top=level GUI libs), not relying on Qt presence in the system. And it is these Qt-relative libs who requires libX*, not the skype binary itself. However, for proprietary applications it is rather common to ship GUI libraries that depend on low level X11 stuff, so possibly it would be useful to include these libX* libs. One more note: this comment doesn't concern such libs as libXaw or libXm which are self-sufficient GUI libraries and normally don't appear as dependencies of other GUI libraries.

... more apps to come ...