[vtkusers] Mapping from vtk5 to vtk6 libraries

Wookey wookey at wookware.org
Sat Jun 7 18:21:54 EDT 2014

+++ Wookey [2014-06-05 21:12 +0100]:

> VTK6 seems to have hundreds of libraries where VTK5 only had a few. I
> read a few wiki pages, but didn't see a simple way of working out what I
> should now be linking with. Note that I know very little about the
> codebase, and less about VTK - I just build it. Upstream knows what
> VTK functionality they used.
> So currently I have:
> VTKLIBS = -lvtkHybrid -lvtkImaging -lvtkIO -lvtkGraphics -lvtkFiltering -lvtkCommon -lvtkjpeg -lvtkpng -lvtkzlib -lvtksys
> What is the VTK6 equivalent?

Hmm, I thought that this would be a very easy question for you guys.

Currently my build fails with:

c++ -o .././loch/loch -Wall .././loch/lxR2P.o .././loch/lxTR.o .././loch/lxOGLFT.o .././loch/lxSetup.o .././loch/lxRender.o .././loch/lxWX.o .././loch/lxImgIO.o .././loch/lxLRUD.o .././loch/lxFile.o .././loch/lxSTree.o .././loch/lxData.o .././loch/lxMath.o .././loch/lxSView.o .././loch/lxSScene.o .././loch/lxGUI.o .././loch/lxGLC.o .././loch/lxOptDlg.o .././loch/lxAboutDlg.o .././loch/img.o -lwx_gtk2u_gl-2.8 -L/usr/lib/x86_64-linux-gnu -pthread -Wl,-z,relro  -L/usr/lib/x86_64-linux-gnu   -lwx_gtk2u_richtext-2.8 -lwx_gtk2u_aui-2.8 -lwx_gtk2u_xrc-2.8 -lwx_gtk2u_qa-2.8 -lwx_gtk2u_html-2.8 -lwx_gtk2u_adv-2.8 -lwx_gtk2u_core-2.8 -lwx_baseu_xml-2.8 -lwx_baseu_net-2.8 -lwx_baseu-2.8  -lvtkHybrid -lvtkImaging -lvtkIO -lvtkGraphics -lvtkFiltering -lvtkCommon -lfreetype -lpthread -lz -lpng12 -lGLU -lGL  -ljpeg -lX11 -s
/usr/bin/ld: cannot find -lvtkHybrid
/usr/bin/ld: cannot find -lvtkImaging
/usr/bin/ld: cannot find -lvtkIO
/usr/bin/ld: cannot find -lvtkGraphics
/usr/bin/ld: cannot find -lvtkFiltering
/usr/bin/ld: cannot find -lvtkCommon
collect2: error: ld returned 1 exit status

And indeed, the above libs no longer exist.

dpkg -L libvtk6 | grep libvtk | xargs readlink | sort | uniq | wc -l

gives 363 library files (!), mostly with rather long names.
(on vtk5.8 there were 23 libraries)

How do I work out which ones are needed? Is there some way of looking
at functions the program uses and mapping those to library names?

Principal hats:  Linaro, Emdebian, Wookware, Balloonboard, ARM

More information about the vtkusers mailing list