Bug#342341: eclipse: too many unneeded dependencies

Billy Biggs billy.biggs at gmail.com
Wed Dec 14 14:56:39 UTC 2005


   Andrew,  you don't need to go to such incredible feats of  
sleuthing. :)
I am an SWT developer and I think I already explained quite clearly in
this bug report what dependencies are there and what are needed.

> I have an eclipse.org binary release (3.1.1) unpacked in ~/bin/ 
> eclipse on my
> sarge install.  A quick search shows that this includes private  
> libraries.
>
> $ find /home/andrew/bin/eclipse/  |grep '\.so\.\|\.so$'
> /home/andrew/bin/eclipse/plugins/ 
> org.eclipse.cdt.core.linux.x86_3.0.0/os/linux/x86/libpty.so
> /home/andrew/bin/eclipse/plugins/ 
> org.eclipse.cdt.core.linux.x86_3.0.0/os/linux/x86/libspawner.so
> /home/andrew/bin/eclipse/configuration/org.eclipse.osgi/bundles/ 
> 33/1/.cp/libswt-pi-gtk-3139.so
> /home/andrew/bin/eclipse/configuration/org.eclipse.osgi/bundles/ 
> 33/1/.cp/libswt-gtk-3139.so
> /home/andrew/bin/eclipse/configuration/org.eclipse.osgi/bundles/ 
> 33/1/.cp/libswt-gnome-gtk-3139.so
> /home/andrew/bin/eclipse/configuration/org.eclipse.osgi/bundles/ 
> 83/1/.cp/os/linux/x86/libupdate.so
> /home/andrew/bin/eclipse/configuration/org.eclipse.osgi/bundles/ 
> 10/1/.cp/os/linux/x86/libcore_3_1_0.so
> /home/andrew/bin/eclipse/libcairo.so.1
>
> (Obviously this is something that the debian eclipse packages don't  
> do).

   What do you mean by that?  All of these libraries, with the exception
of "libcairo.so.1", are JNI libraries which are part of Eclipse and
the C sources are part of the source package, and are definitely
installed by the Debian packages.  libcairo.so.1 is a precompiled  
version
of cairo as it is not in our supported distributions yet, so clearly  
this
isn't required by the Debian packages yet.

> A quick ldd shows that the private libraries upstream ships _are_  
> linked
> against gnome libs.
> [...]
> However it ain't that simple.  There has recently been a thread  
> about unused
> library dependencies [1], [2].
>
> The sarge ldd command does not have the -u option.  Therefore I  
> tried ldd -u
> on ubuntu.
>
> ldd
> -u /home/andrew/bin/eclipse/configuration/org.eclipse.osgi/bundles/ 
> 33/1/.cp/libswt-gnome-gtk-3139.so
> Unused direct dependencies:
>
>         /usr/lib/libgnomevfs-2.so.0
>         /usr/lib/libgnome-2.so.0
>         /usr/lib/libgnomeui-2.so.0
>
> At this point I'm out of my depth.  I don't know how to determine  
> whether
> (upstreams) libswt-gnome-gtk-3139.so actually _should_ be linked  
> against
> gnome libs.  Since I'm running sarge, it haven't tried ldd on the  
> debian swt
> libs.

   I think you're misreading the tools.  Here's something clearer to do:

$ nm -D libswt-gnome-* | grep gnome_vfs_mime_get_default_application

   You'll see that it depends on some gnome_vfs symbols.

$ nm -D /usr/lib/libgnomevfs-2.so.0 | grep gnome_vfs_mime_get_default_ap

   You'll see that it's defined here.

   Now, as explained earlier, this is used by the Eclipse SDK to provide
the feature where you go "Open With > System Editor" and the file in
Eclipse will open with "gedit" if that is what is set up in your GNOME
preferences.

   The other feature is that this is also used to determine what your  
system
web browser is, whether it's epiphany or Mozilla or konqueror or  
whatever.

   As you mention, other SWT applications may need more of this than
the Eclipse SDK.  This is true too with the embedded Mozilla.  Many  
teams
on the Eclipse project want to hard depend on the embedded browser, and
lots of plugins definitely do.  However, in the core SDK we've tried to
ensure don't completely die if we can't find an embeddable Mozilla/Gecko
install.

   -Billy




More information about the pkg-java-maintainers mailing list