Good news, everything works finally. I found a way to make Paraview find
the necessary ITK libraries.
By chance I found some cmake related postings where there was some
problem with the LINK_LIBRARIES variable. I was like "Gee, this variable
looks nice! It could replace my TARGET_LINK_LIBRARIES which does not
work anyway." And voila, everything goes. This is what I put into my
CMakeList that made Paraview execute my cool plugin (a itkFlipImageFilter :)
LINK_LIBRARIES( vtkITKImageBox
ITKCommon ITKIO ITKBasicFilters
)
I know, diving a little bit more into CMake would have helped in the
first place, but you just can't study everything before getting your
work done.
What's a bit strange is that the plugin is very big (7MB). I am afraid
that the vtkITKImageBox (which is about that big), or even some ITK
stuff is cramped into the filter despite my efforts to link everything
dynamically. I will try to find a solution to this.
Thanks for your help and best regards,
Christian
Christian Werner wrote:
Hmm, I don't see how I can provide this information to my compiler
since the usual way outside ParaView is to have a CMakeList which
contains something like this
TARGET_LINK_LIBRARIES( vtkITKImageBox
ITKCommon ITKIO
vtkCommon vtkIO
)
But when I do this in my ParaView-Plugin CMakeList, I get an error
message:
CMake Error at CMakeLists.txt:16 (TARGET_LINK_LIBRARIES):
Cannot specify link libraries for target "vtkITKImageBox" which is not
built by this project.
That's odd because the CMakeList for the VTK-only environment contains
exactly these lines and everything works. Obviously this has to be
handled differently for ParaView, but how? It compiled and linked
without any of this target_link_library stuff in the first place,
which is strange, because I do need some libraries... ??
So I thought maybe these libraries are only important at runtime, but
adding the path to the ITK libraries to the LD_LIBRARY_PATH did not
help either.
Utkarsh Ayachit wrote:
I am guessing you are missing some link library from itk that would
bring in the LightObject.
Utkarsh
On Wed, Feb 24, 2010 at 12:11 PM, Christian Werner
<[email protected]> wrote:
Well well, here comes the error messages:
Attempting to load
/home/christian/.paraview-plugins/libSampleImageFilter.so
Failed to load the shared library.
/home/christian/.paraview-plugins/libSampleImageFilter.so: undefined
symbol:
_ZN3itk11LightObject6DeleteEv
Seems to be a ITK thing. I really do not know what that means or
even how to
fix that. As I said, the filter works in VTK-only.
Any ideas?
Utkarsh Ayachit wrote:
I am assuming this is with CVS head ParaView. Try setting the
environment variable PV_PLUGIN_DEBUG before launching ParaView. It
should print more information as to why the plugin verification data
mismatched.
Just to be sure, you are building and loading the plugin into the same
version of ParaView.
Utkarsh
On Wed, Feb 24, 2010 at 7:58 AM, Christian Werner
<[email protected]> wrote:
Good point but sadly this didn't help. I keep getting the same error
messages.
ls -l $(echo $LD_LIBRARY_PATH)
...
-rwxr-xr-x 1 christian christian 9361220 2010-02-24 13:46
libvtkITKImageBox.so
Paul Edwards wrote:
Is your vtkITKImageBox library in the LD_LIBRARY_PATH when
paraview is
launched?
Regards,
Paul
On 24 February 2010 12:10, Christian Werner
<[email protected]
<mailto:[email protected]>>
wrote:
Attaching the CMakeLists.txt might be interesting, too...
# create a paraview plugin containing server manager xml and the
server
# manager classes to build
# this plugin can be loaded on the server side
cmake_minimum_required(VERSION 2.4)
PROJECT(vtkITKSampleImageFilter)
INCLUDE("/home/christian/programming/pv-plugins/conf.cmake")
#find and load ParaView settings
FIND_PACKAGE(ParaView REQUIRED)
INCLUDE(${PARAVIEW_USE_FILE})
TARGET_LINK_LIBRARIES( vtkITKImageBox )
ADD_PARAVIEW_PLUGIN(SampleImageFilter "1.0"
SERVER_MANAGER_XML SampleImageFilter.xml
#GUI_RESOURCE_FILES SampleImageFilterGUI.xml
SERVER_MANAGER_SOURCES vtkITKSampleImageFilter.cxx
)
_______________________________________________
Powered by www.kitware.com <http://www.kitware.com>
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Please keep messages on-topic and check the ParaView Wiki at:
http://paraview.org/Wiki/ParaView
Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview
_______________________________________________
Powered by www.kitware.com
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Please keep messages on-topic and check the ParaView Wiki at:
http://paraview.org/Wiki/ParaView
Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview
_______________________________________________
Powered by www.kitware.com
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Please keep messages on-topic and check the ParaView Wiki at:
http://paraview.org/Wiki/ParaView
Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview
_______________________________________________
Powered by www.kitware.com
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Please keep messages on-topic and check the ParaView Wiki at:
http://paraview.org/Wiki/ParaView
Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview
_______________________________________________
Powered by www.kitware.com
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Please keep messages on-topic and check the ParaView Wiki at:
http://paraview.org/Wiki/ParaView
Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview