[Paraview] problem with latest CVS

Jérôme jerome.velut at gmail.com
Thu Dec 3 11:32:47 EST 2009


Hi,
Thanks for all! Unfortunately, I am currently re-compiling ParaView from
scratch... I will give you a feed-back as soon as my tiny comp' has
finished.

What I can say is that your fix about 'static' link is ok. I did not have to
wait the compilation to end, maybe because this is CMake-script related?

The build error is now reported on a DICOM reader and I am having the
following message :

/home/dje/Softwares/VesselExtraction/Plugins/ParaView/CoronaryExtractionToolbar_Plugin.cxx:43:93:
erreur:
/home/dje/Softwares/VesselExtraction/Plugins/ParaView/vtkSMXML_DICOMImageReader.h
: Aucun fichier ou dossier de ce type
/home/dje/Softwares/VesselExtraction/Plugins/ParaView/CoronaryExtractionToolbar_Plugin.cxx:
In member function ‘virtual void
CoronaryExtractionToolbar_Plugin::GetXMLs(std::vector<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::allocator<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > > >&)’:
/home/dje/Softwares/VesselExtraction/Plugins/ParaView/CoronaryExtractionToolbar_Plugin.cxx:71:
erreur: ‘DICOMImageReaderDICOMReaderGetInterfaces’ was not declared in this
scope
make[2]: ***
[Plugins/ParaView/CMakeFiles/CoronaryExtractionToolbar.dir/CoronaryExtractionToolbar_Plugin.cxx.o]
Erreur 1
make[2]: *** Attente des tâches non terminées....

(Sorry for the frenchy message!!)
The vtkSMXML_DICOMImageReader.h cannot be found. But he exists ! Attached
are vtkSMXML_DICOM.....h and the DICOM_plugin cxx and h.

Thanks again,

Jerome



2009/12/3 Utkarsh Ayachit <utkarsh.ayachit at kitware.com>

> Jerome,
>
> I tried to mimic your plugin by a small example but could not
> reproduce your issue. If you don't mind helping me track this down,
> can you try the following:
>
> * First, try clean building -- delete the build directory for the
> plugin (not paraview) and try again.
> * Does the vtkSMXML_*.h the compiler is complaining about exist?
> * What does ICSImageReader_Plugin.cxx look like?
>
> Thanks,
>
> Utkarsh
>
> On Thu, Dec 3, 2009 at 5:20 AM, Jérôme <jerome.velut at gmail.com> wrote:
> > Utkarsh,
> >
> > I have similar problem: the generated vtkSMXML_ header files cannot be
> > found. Attached is my CMakeLists defining the plugins. Some variables are
> > declared in other places. If you need them, tell me.
> >
> > Jerome
> >
> >
> > 2009/12/2 Utkarsh Ayachit <utkarsh.ayachit at kitware.com>
> >>
> >> Paul,
> >>
> >> I've been changing the way plugins are configured. Can you try
> >> clean-building your plugin? If that doesn't work, can you post your
> >> CMakeLists.txt file?
> >>
> >> Thanks
> >> Utkarsh
> >>
> >> On Wed, Dec 2, 2009 at 6:33 AM, Paul Edwards <paul.m.edwards at gmail.com>
> >> wrote:
> >> > I'm getting build errors on my plugins:
> >> >
> >> > .....
> >> > /path/to/build/dir/MyReader/MyReaderGUIPlugin_Plugin.cxx:43:86: error:
> >> > /path/to/build/dir/MyReader/vtkSMXML_MyReaderSMPlugin.h: No such file
> >> > or directory
> >> > /path/to/build/dir/MyReader/MyReaderGUIPlugin_Plugin.cxx: In member
> >> > function ‘virtual void
> >> > MyReaderGUIPlugin_Plugin::GetXMLs(std::vector<std::basic_string<char,
> >> > std::char_traits<char>, std::allocator<char> >,
> >> > std::allocator<std::basic_string<char, std::char_traits<char>,
> >> > std::allocator<char> > > >&)’:
> >> > /path/to/build/dir/MyReader/MyReaderGUIPlugin_Plugin.cxx:69: error:
> >> > ‘MyReaderSMPluginvtkMyReaderGetInterfaces’ was not declared in this
> >> > scope
> >> > make[2]: ***
> >> >
> [MyReader/CMakeFiles/MyReaderGUIPlugin.dir/MyReaderGUIPlugin_Plugin.cxx.o]
> >> > Error 1
> >> >
> >> > Is it just me?!
> >> >
> >> > Thanks,
> >> > Paul
> >> > _______________________________________________
> >> > 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
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.paraview.org/pipermail/paraview/attachments/20091203/affc539e/attachment-0001.htm>
-------------- next part --------------
// Loadable modules
//
// Generated by /home/dje/Softwares/ParaView-3.7/Release/bin/kwProcessXML
//
#ifndef __DICOMImageReader_h
#define __DICOMImageReader_h

#include <string.h>


// From file /home/dje/Codes/VesselExtraction/Plugins/ParaView/DICOMReader.xml
static const char* DICOMImageReaderDICOMReaderInterface0 =
"<ServerManagerConfiguration>\n"
"  \n"
"<ProxyGroup name=\"sources\">\n"
"   <!-- ================================================================== -->\n"
"   <SourceProxy name=\"DICOMImageReader\" class=\"vtkDICOMImageReader\"\n"
"                label=\"DICOM Reader\">\n"
"     <StringVectorProperty\n"
"                           name=\"DirectoryName\"\n"
"                           number_of_elements=\"1\"\n"
"                           command=\"SetDirectoryName\"\n"
"                           immediate_update=\"1\">\n"
"         <FileListDomain name=\"files\"/>\n"
"         <Documentation>\n"
"            This property specifies the directory name for the vtk Dicom reader.\n"
"         </Documentation>\n"
"         <Hints>\n"
"           <UseDirectoryName />\n"
"           <Property name=\"DirectoryName\" show=\"1\" />\n"
"         </Hints> \n"
"      </StringVectorProperty>\n"
"\n"
"   </SourceProxy>\n"
"    <!-- End DICOM Reader -->\n"
"</ProxyGroup>\n"
"</ServerManagerConfiguration>\n"
"\n";
// Get single string
char* DICOMImageReaderDICOMReaderGetInterfaces()
{
  size_t len = ( 0
    + strlen(DICOMImageReaderDICOMReaderInterface0) );
  char* res = new char[ len + 1];
  res[0] = 0;
  strcat(res, DICOMImageReaderDICOMReaderInterface0);
  return res;
}



#endif
-------------- next part --------------
/*=========================================================================

   Program: ParaView
   Module:    $RCSfile: pqParaViewPlugin.h.in,v $

   Copyright (c) 2005,2006 Sandia Corporation, Kitware Inc.
   All rights reserved.

   ParaView is a free software; you can redistribute it and/or modify it
   under the terms of the ParaView license version 1.2. 

   See License_v1.2.txt for the full ParaView license.
   A copy of this license can be obtained by contacting
   Kitware Inc.
   28 Corporate Drive
   Clifton Park, NY 12065
   USA

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

========================================================================*/
/// This is an auto-generated file. Please do not edit.

/// This file is used to wrap a ParaView plugin.
/* #undef plugin_type_python */
#define plugin_type_servermanager
#define plugin_type_gui

/// this is set when the plugin has source headers that are wrapped.
/* #undef INITIALIZE_WRAPPING */

#include "vtkPVPlugin.h"

#ifdef plugin_type_gui
# include "vtkPVGUIPluginInterface.h"
# include <QObject>
# include <QtPlugin>
#endif

#ifdef plugin_type_servermanager
# include "vtkPVServerManagerPluginInterface.h"
#endif

#ifdef plugin_type_python
# include "vtkPVPythonPluginInterace.h"
#endif

class DICOMImageReader_Plugin :
#ifdef plugin_type_gui
  public QObject,
  public vtkPVGUIPluginInterface,
#endif

  public vtkPVPlugin

#ifdef plugin_type_servermanager
  , public vtkPVServerManagerPluginInterface
#endif
#ifdef plugin_type_python
  , public vtkPVPythonPluginInterace
#endif

{
#ifdef plugin_type_gui
  Q_OBJECT
#endif
public:
   // Description:
  // Returns the name for this plugin.
  virtual const char* GetPluginName()
    {return "DICOMImageReader"; }

  // Description:
  // Returns the version for this plugin.
  virtual const char* GetPluginVersionString()
    { return "1.0"; }

  // Description:
  // Returns true if this plugin is required on the server.
  virtual bool GetRequiredOnServer()
    { return 1; }

  // Description:
  // Returns true if this plugin is required on the client.
  virtual bool GetRequiredOnClient()
    { return 1; }

  // Description:
  // Returns a ';' separated list of plugin names required by this plugin.
  virtual const char* GetRequiredPlugins()
    { 
    return "";
    }

#ifdef plugin_type_servermanager
  // Description:
  // Obtain the server-manager configuration xmls, if any.
  virtual void GetXMLs(vtkstd::vector<vtkstd::string> &xmls);

  // Description:
  // Returns the callback function to call to initialize the interpretor for the
  // new vtk/server-manager classes added by this plugin. Returning NULL is
  // perfectly valid.
   virtual vtkProcessModule::InterpreterInitializationCallback 
    GetInitializeInterpreterCallback();
#endif

#ifdef plugin_type_gui
  /// Returns the list of ParaView-Interfaces provided by this plugin.
  virtual QObjectList interfaces();
#endif

#ifdef plugin_type_python
  virtual void GetPythonSourceList(vtkstd::vector<vtkstd::string>& modules,
    vtkstd::vector<vtkstd::string>& sources,
    vtkstd::vector<int> &package_flags);
#endif
};
-------------- next part --------------
/*=========================================================================

   Program: ParaView
   Module:    $RCSfile: pqParaViewPlugin.cxx.in,v $

   Copyright (c) 2005,2006 Sandia Corporation, Kitware Inc.
   All rights reserved.

   ParaView is a free software; you can redistribute it and/or modify it
   under the terms of the ParaView license version 1.2. 

   See License_v1.2.txt for the full ParaView license.
   A copy of this license can be obtained by contacting
   Kitware Inc.
   28 Corporate Drive
   Clifton Park, NY 12065
   USA

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

========================================================================*/
#include "DICOMImageReader_Plugin.h"

#include "vtkObjectFactory.h"

#ifdef INITIALIZE_WRAPPING
# include "vtkProcessModule.h"
# include "vtkClientServerInterpreter.h"

extern "C" void DICOMImageReader_Initialize(vtkClientServerInterpreter *arlu);
#endif

#include "/home/dje/Softwares/VesselExtraction/Plugins/ParaView/vtkSMXML_DICOMImageReader.h"


#define PUSH_BACK_XML_INTERFACES(xmls)\
 xmls.push_back(DICOMImageReaderDICOMReaderGetInterfaces());\


#define PUSH_BACK_PV_INTERFACES(arg)\



//-----------------------------------------------------------------------------
#ifdef plugin_type_servermanager
vtkProcessModule::InterpreterInitializationCallback 
DICOMImageReader_Plugin::GetInitializeInterpreterCallback()
{
# ifdef INITIALIZE_WRAPPING
  return DICOMImageReader_Initialize;
# endif
  return NULL;
}

//-----------------------------------------------------------------------------
void DICOMImageReader_Plugin::GetXMLs(vtkstd::vector<vtkstd::string> &xmls)
{
# ifdef PUSH_BACK_XML_INTERFACES
  PUSH_BACK_XML_INTERFACES(xmls);
# endif
}
#endif

//-----------------------------------------------------------------------------
#ifdef plugin_type_gui
QObjectList DICOMImageReader_Plugin::interfaces()
{
  QObjectList interfaces;
#ifdef PUSH_BACK_PV_INTERFACES
  PUSH_BACK_PV_INTERFACES(interfaces);
#endif
  return interfaces;
}
#endif

//-----------------------------------------------------------------------------
#ifdef plugin_type_python


void DICOMImageReader_Plugin::GetPythonSourceList(vtkstd::vector<vtkstd::string>& modules,
  vtkstd::vector<vtkstd::string>& sources,
  vtkstd::vector<int> &package_flags)
{
  const char *moduleNames[] = {
    
  };
  char *moduleSources[] = {
    
  };
  const int packageFlags[] = {
    
  };

  int num_modules = sizeof(moduleNames)/sizeof(const char *);
  for (int cc=0; cc < num_modules; cc++)
    {
    modules.push_back(moduleNames[cc]);
    sources.push_back(moduleSources[cc]);
    package_flags.push_back(packageFlags[cc]);

    // free allocated memory.
    delete moduleSources[cc];
    moduleSources[cc] = NULL;
    }
}
#endif

//-----------------------------------------------------------------------------
// Mark this as a ParaView-ServerManager plugin.
PV_PLUGIN_EXPORT(DICOMImageReader, DICOMImageReader_Plugin)

//-----------------------------------------------------------------------------
#ifdef plugin_type_gui

// Required to mark this as a Qt plugin.
Q_EXPORT_PLUGIN2(DICOMImageReader,  DICOMImageReader_Plugin)
#endif



More information about the ParaView mailing list