ITK/GDBPretty/Installation/Linux/Fedora14

From KitwarePublic
Jump to navigationJump to search

Fedora 14 example

Known Issues

The Mayavi based printers (due to a problem with vtk-Python? TVTK? glibc?) cannot be used on Fedora 14. These include

  • mayavi.*
  • paraview
  • vv

Install package dependencies

yum install gcc gcc-c++ git texinfo ncurses-devel flex bison python-devel

Build custom GDB

Build it

cd ~
mkdir gdb
cd gdb
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source
mkdir build install
cd build
../source/configure --prefix=$(cd ../install && pwd)
make -j2 all
make install

Put it at the top of the system PATH

su -
cd /usr/local/bin
ln -s /home/user/gdb/install/bin/gdb
exit

Replace user with your username.

Logout and login to a new shell to ensure the system follows the new path.

Install custom pretty-printers

Basic pretty-printers

yum install python-matplotlib cmake

Place the following in ~/.gdbinit

#
# C++ related beautifiers (optional)
#
set print pretty on
set print object on
set print static-members on
set print vtbl on
set print demangle on
set demangle-style gnu-v3
set print sevenbit-strings off
set multiple-symbols ask
# working with arrays
set print array on
set print elements 70

#
# gdb-pretty
#
python
import sys
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )
import gdb.pretty
gdb.pretty.register( 'libstdcxx.v6.printers', None )
end

require command view
require command alias

Replace user with your username.

mkdir ~/gdb/gdb-pretty

libstdcxx pretty-printers

cd ~/gdb/gdb-pretty
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx

Try running the example

cd libstdcxx/examples
less readme.rst
...

Science related pretty-printers

Pretty printers in the Fedora repository

VTK is packaged poorly, so you need the vtk-devel package to import vtk in Python.

yum install Mayavi paraview vtk-devel

Install VV

Install dependencies,

yum install gengetopt qt-devel wget cmake mesa-libGL-devel libXt-devel mesa-libOSMesa-devel

Build VTK 5.6 from source.

cd ~/
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz
tar xvzf vtk-5.6.1.tar.gz
mkdir VTK/build
cd VTK/build
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..
make

Build ITK from source.

cd ~/
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz
tar xvzf InsightToolkit-3.20.0.tar.gz
cd InsightToolkit-3.20.0
mkdir build
cd build
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DITK_USE_REVIEW_STATISTICS=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ..
make -j2

Download vvSource-1.1.tar.gz from the VV homepage.

cd ~/
mv ~/Documents/vvSource-1.1.tar.gz ~/
tar xvzf vvSource-1.1.tar.gz
cd vv-src/build
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..
make -j2

Copy the executable to the system PATH, e.g.

mkdir ~/bin
cd ~/bin
ln -s ~/vv-src/build/bin/vv

GDB setup

cd ~/gdb/gdb-pretty
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science
cd science
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..
make install

ITK pretty-printers

cd ~/gdb/gdb-pretty
git clone git://gitorious.org/gdb-pretty/gdb-pretty-itk.git itk

QGoImageCompare printer

cd ~/gdb/gdb-pretty
git clone https://github.com/gofigure2/QGoImageCompare.git
mkdir QGoImageCompare/build
cd QGoImageCompare/build
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build/ -DVTK_DIR=~/VTK/build/ -DBUILD_GDB_PRETTY=ON -DICPGUI_INSTALL_LOCATION=/home/user/gdb/install/share/gdb/python/ -DBUILD_EXAMPLES=ON -DBUILD_TESTING=ON ..
make