gldd

Author / Автор: Sergey Satskiy
NCBI
Publication date / Опубликовано: 23-Nov-2009
Version / Версия текста: 1.1

What is gldd

gldd is purposed to visualize dynamic libraries dependencies of *.so and executable files on Linux. It was developed on a Linux distribution though it might happened it will works on MAC OS, on Free BSD systems and / or on other UNIX flavours too. If you successfully deployed gldd on your system please let me know and I will update this page.

gldd is written in python and relies on other software packages (see dependencies chapter for more information).

gldd is distributed as a public domain software.

Screenshots

Here are a few screenshots:

libncurses dependencies

vi dependencies

The main gldd features are as follows:

  • Visualizes dependencies for *.so and for executable files
  • Can show or hide full pathes to libraries
  • Can show or hide linux-gate.so pseudo library
  • Shows not found libraries in red
  • Supports scaling of the dependencies graph
  • Supports running various utilities (file, strings, readlef, objdump and nm) for each found library (except of the linux-gate.so) via a context menu
  • Exporting the dependencies graph as a picture (PNG)

There are some not implemented yet features including at least the following:

  • Printing the dependencies graph
  • Double clicking on a library box to start from this library as a new root point

Dependencies

gldd relies on the following packages:

The utilities which are run via a context menu should also be available via PATH. It includes:

  • file
  • strings
  • readelf
  • objdump
  • nm

Installation and Running

gldd does not require any special installation. Just copy all the python files and icons directory to the location you want to keep them.

You might want to adjust the PATH variable correspondingly.

gldd was tested on Fedora 10 initially and then on Fedora 11.

To run gldd you should do one of the following:

cd <where gldd scripts are located>
./gldd <elf file name>

or


./gldd

and then select an elf file using GUI.

For example:

./gldd /bin/vi

For more information type

./gldd --help

Download

Version 0.1.1

gldd-0.1.1.tar.bz2 (47041 bytes)

Changelog (23-Nov-2009):

  • linux-vdso.so is supported as well as linux-gate.so
  • Fix: implementation of the settings singleton
  • Export to PNG is implemented

Version 0.1.0

gldd-0.1.0.tar.bz2 (47150 bytes)

Changelog (28-Jun-2009):

  • first public release

Afterwords

gldd was developed for fun though a few side goals were also persuaded:

  • to study coding in python
  • to study graphics coding in python (for which pyQt was selected)
  • to prove one more time that just a bit of glue code and a combination of well designed and developed software packages can bring a new experience to your desktop

If you like gldd and wish to help improving it then you are welcome to join.


Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.

Разрешается копирование и распространение этой статьи любым способом без внесения изменений, при условии, что это разрешение сохраняется.
Last Updated: November 23, 2009