Personal tools
You are here: Home Forum Install & build Problems with qt4 attempting to update mandriva salome rpm package

Problems with qt4 attempting to update mandriva salome rpm package

Up to Install & build

Problems with qt4 attempting to update mandriva salome rpm package

Posted by Paulo César Pereira de Andrade at November 14. 2011

Hi,

I am working on some experimental packages, currently only in my computer, updating to latest vtk, updating to use opencascade from https://github.com/tpaviot/oce and working on updating from salome 5.1.5 to salome 6.3.1.

After some minor patching I am stuck at errors like

SalomeApp_Module_moc.cxx: In static member function 'static void SalomeApp_Module::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)':

SalomeApp_Module_moc.cxx:52:66: error: cannot convert from base 'QObject' to derived type 'SalomeApp_Module' via virtual base 'LightApp_Module'

that, based on http://comments.gmane.org/gmane.comp.lib.qt.general/41832 is not supported, so, I tried this pseudo patch to see what I would get:
 

-- ./src/SalomeApp/SalomeApp_Module.h.orig     2011-11-12 01:54:35.886100808 -0200

+++ ./src/SalomeApp/SalomeApp_Module.h  2011-11-14 03:26:10.215274202 -0200

@@ -41,7 +41,7 @@ class SUIT_DataObject;

 /*!

  * \brief Base class for all salome modules

  */

-class SALOMEAPP_EXPORT SalomeApp_Module : virtual public LightApp_Module

+class SALOMEAPP_EXPORT SalomeApp_Module : public LightApp_Module

 {

   Q_OBJECT

 

--- ./src/SALOME_PYQT/SALOME_PYQT_GUILight/SALOME_PYQT_ModuleLight.h.orig      2011-11-12 01:58:40.662347995 -0200

+++ ./src/SALOME_PYQT/SALOME_PYQT_GUILight/SALOME_PYQT_ModuleLight.h    2011-11-14 03:26:04.520245469 -0200

@@ -43,7 +43,7 @@ class QtxActionGroup;

 class QMenu;

 

 

-class SALOME_PYQT_LIGHT_EXPORT SALOME_PYQT_ModuleLight: virtual public LightApp_Module

+class SALOME_PYQT_LIGHT_EXPORT SALOME_PYQT_ModuleLight: public LightApp_Module

 {

   Q_OBJECT;

 

But then I think I do not have enough knowledge of qt4 and salome internals and objects hierarchy to get any further due to two classes derived from QObject, and the closest similar upstream comment I see is http://comments.gmane.org/gmane.comp.lib.qt.general/41832
 
Some of the components:
$ rpm -q gcc lib64qt4-devel opencascade swig lib64vtk-devel
gcc-4.6.2-3-mdv2012.0.x86_64
lib64qt4-devel-4.8.0-0.beta1.3-mdv2012.0.x86_64
opencascade-0.7.0-1-mdv2012.0.x86_64
swig-2.0.4-1-mdv2012.0.x86_64
lib64vtk-devel-5.8.0-1-mdv2012.0.x86_64
 
opencascade and vtk currently only built in my computer. If I cannot correct build of salome. I am holding to update vtk due to salome not building for some time now, due to qt4 updates causing the issues above.
 

Re: Problems with qt4 attempting to update mandriva salome rpm package

Posted by Paulo César Pereira de Andrade at November 20. 2011

For the record, Mandriva cooker now has

$ rpm -q salome

salome-6.3.1-1-mdv2012.0.x86_64

packaged. You can see the patches at http://svn.mandriva.com/viewvc/packages/cooker/salome/current/ it is not yet what I would call a final version, as I plan to do some work on also updating paraview and adding support for the paraview plugin, as well as any other problems I notice in the package.
The patch about @subject is qobject_static_cast.patch that, in most cases just has the pattern
 
# meta object implementation files generation (moc)
 %_moc.cxx: %.h
        $(MOC) $(MOC_FLAGS) $< -o $@
+       perl -pi -e 's|static_cast|dynamic_cast|;' $@
 
 # translation (*.qm) files generation (lrelease)
 %.qm: resources/%.ts
 
Powered by Ploneboard
Document Actions