Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » U++ TheIDE » U++ TheIDE: Installation, Compiling and Running of theide » Theide is linked with unnecessary libs on linux
Theide is linked with unnecessary libs on linux [message #26126] Fri, 02 April 2010 18:22 Go to next message
dolik.rce is currently offline  dolik.rce
Messages: 1758
Registered: August 2008
Location: Czech Republic
Senior Contributor

Hi,

I discovered interesting thing today, concerning library dependencies on linux. Theide is linked with 26 libraries (with GUI,MT flags):
 atk-1.0, cairo, dl, fontconfig, freetype, gdk-x11-2.0,
gdk_pixbuf-2.0, glib-2.0, gmodule-2.0, gobject-2.0, gtk-x11-2.0,
m, pango-1.0, pangocairo-1.0, png, pthread, X11, Xcursor, Xext,
Xfixes, Xft, Xi, Xinerama, Xrandr, Xrender and z
Now the interesting part: 13 (yes, that is 50%) out of them is not used at all! They are:
atk-1.0, cairo, dl, glib-2.0, gmodule-2.0, pango-1.0,
pangocairo-1.0, Xcursor, Xext, Xfixes, Xi, Xinerama and Xrandr

I found that (again Smile ) while building debian packages, if you are interested in details, see this buildlog (it is rather long, search for dpkg-shlibdeps). Being a bit suspicious about debian automated tools, I checked on my machine using export makefile, with above listed libraries removed from linking step. The resulting binary was working flawlessly as far as I can tell, so the libs are probably really not needed.

My guess is that the dependencies were added a long time ago, before restructuring Draw and other great improvements in the history of U++, but the dependency rules were never updated.Having as few dependencies as possible is one of the U++ goals... So this might be called a bug.

Best regards,
Honza
Re: Theide is linked with unnecessary libs on linux [message #26174 is a reply to message #26126] Thu, 08 April 2010 06:49 Go to previous messageGo to next message
Novo is currently offline  Novo
Messages: 890
Registered: December 2006
Experienced Contributor
The easiest way to find real dependencies on Linux is to call "ldd path_to_your_app_here". Smile

Regards,
Novo
Re: Theide is linked with unnecessary libs on linux [message #26191 is a reply to message #26174] Fri, 09 April 2010 20:09 Go to previous message
dolik.rce is currently offline  dolik.rce
Messages: 1758
Registered: August 2008
Location: Czech Republic
Senior Contributor

Novo wrote on Thu, 08 April 2010 06:49

The easiest way to find real dependencies on Linux is to call "ldd path_to_your_app_here". Smile


Hi Novo,

Thanks for hint Wink Executing ldd with -u to list unused libraries confirms what I said in the first post:
$ ldd -u /usr/bin/theide
Unused direct dependencies:
	
	/usr/lib/libX11.so.6
	/usr/lib/libXcursor.so.1
	/usr/lib/libXext.so.6
	/usr/lib/libXfixes.so.3
	/usr/lib/libXft.so.2
	/usr/lib/libXi.so.6
	/usr/lib/libXinerama.so.1
	/usr/lib/libXrandr.so.2
	/usr/lib/libXrender.so.1
	/usr/lib/libatk-1.0.so.0
	/usr/lib/libcairo.so.2
	/lib/libdl.so.2
	/usr/lib/libfontconfig.so.1
	/usr/lib/libfreetype.so.6
	/usr/lib/libgdk-x11-2.0.so.0
	/usr/lib/libgdk_pixbuf-2.0.so.0
	/usr/lib/libglib-2.0.so.0
	/usr/lib/libgmodule-2.0.so.0
	/usr/lib/libgobject-2.0.so.0
	/usr/lib/libpango-1.0.so.0
	/usr/lib/libpangocairo-1.0.so.0
	/usr/lib/libpng12.so.0
	/lib/libpthread.so.0
	/usr/lib/libz.so.1
	/lib/libm.so.6
	/usr/lib/libgcc_s.so.1

Honza

[Updated on: Fri, 09 April 2010 20:13]

Report message to a moderator

Previous Topic: [MINGW] WIN32 compile errors
Next Topic: Windows setup appends files
Goto Forum:
  


Current Time: Thu Nov 21 15:55:19 CET 2019

Total time taken to generate the page: 0.01532 seconds