ITK/GDBPretty/Installation/Linux/Fedora14

From KitwarePublic
< ITK‎ | GDBPretty‎ | Installation/Linux
Revision as of 06:54, 21 November 2010 by Thewtex (talk | contribs) (→‎ITK pretty-printers: the itk example is not going to work on fedora at the moment because it uses the mayavi printers)
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

itkCompareProject printer

cd ~/gdb/gdb-pretty
git clone https://github.com/antonin07130/itkCompareProject.git
mkdir itkCompareProject/build
cd itkCompareProject/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