I've tried building pyside-1.2.1 on AIX. I've been able to
successfully build it on Solaris, HP-UX, and Linux. The build on AIX
errors with:
  cd /opt/build/pyside-qt4.8+1.2.1/PySide/QtGui && /opt/TWWfsw/gcc44/bin/g++   
-DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -DQtGui_EXPORTS -O2 -fPIC 
-I/opt/TWWfsw/libqt48/include/gcc44 -I/opt/TWWfsw/libqt48/include/gcc44/QtGui 
-I/opt/TWWfsw/libqt48/include/gcc44/QtCore 
-I/opt/build/pyside-qt4.8+1.2.1/PySide/QtGui/QtGui 
-I/opt/build/pyside-qt4.8+1.2.1/PySide/QtGui 
-I/opt/build/pyside-qt4.8+1.2.1/PySide/QtGui/PySide/QtGui 
-I/opt/build/pyside-qt4.8+1.2.1/PySide 
-I/opt/TWWfsw/libqt48/lib/python27/include/shiboken 
-I/opt/build/pyside-qt4.8+1.2.1/libpyside 
-I/opt/TWWfsw/python27/include/python2.7 
-I/opt/build/pyside-qt4.8+1.2.1/PySide/QtCore/PySide/QtCore    -o 
CMakeFiles/QtGui.dir/PySide/QtGui/qkeyevent_wrapper.cpp.o -c 
/opt/build/pyside-qt4.8+1.2.1/PySide/QtGui/PySide/QtGui/qkeyevent_wrapper.cpp
  
/opt/build/pyside-qt4.8+1.2.1/PySide/QtGui/PySide/QtGui/qkeyevent_wrapper.cpp: 
In function 'PyObject* Sbk_QKeyEvent_get_autor(PyObject*, void*)':
  
/opt/build/pyside-qt4.8+1.2.1/PySide/QtGui/PySide/QtGui/qkeyevent_wrapper.cpp:686:
 error: attempt to take address of bit-field structure member 'QKeyEvent::autor'
  
/opt/build/pyside-qt4.8+1.2.1/PySide/QtGui/PySide/QtGui/qkeyevent_wrapper.cpp: 
In function 'int Sbk_QKeyEvent_set_autor(PyObject*, PyObject*, void*)':
  
/opt/build/pyside-qt4.8+1.2.1/PySide/QtGui/PySide/QtGui/qkeyevent_wrapper.cpp:706:
 error: attempt to take address of bit-field structure member 'QKeyEvent::autor'
  gmake[2]: *** 
[PySide/QtGui/CMakeFiles/QtGui.dir/PySide/QtGui/qkeyevent_wrapper.cpp.o] Error 1
  gmake[2]: Leaving directory `/opt/build/pyside-qt4.8+1.2.1'

Looking at PySide/QtGui/PySide/QtGui/qkeyevent_wrapper.cpp:
  static PyObject* Sbk_QKeyEvent_get_autor(PyObject* self, void*)
  {
      ::QKeyEvent* cppSelf = 0;
      SBK_UNUSED(cppSelf)
      if (!Shiboken::Object::isValid(self))
          return 0;
      cppSelf = 
((::QKeyEvent*)Shiboken::Conversions::cppPointer(SbkPySide_QtGuiTypes[SBK_QKEYEVENT_IDX],
 (SbkObject*)self));
      PyObject* pyOut = 
Shiboken::Conversions::copyToPython(Shiboken::Conversions::PrimitiveTypeConverter<uint>(),
 &cppSelf->autor);
      return pyOut;
  }

On Linux, the same function appears as:
  static PyObject* Sbk_QKeyEvent_get_autor(PyObject* self, void*)
  {
      ::QKeyEvent* cppSelf = 0;
      SBK_UNUSED(cppSelf)
      if (!Shiboken::Object::isValid(self))
          return 0;
      cppSelf = 
((::QKeyEvent*)Shiboken::Conversions::cppPointer(SbkPySide_QtGuiTypes[SBK_QKEYEVENT_IDX],
 (SbkObject*)self));
      uint cppOut_local = cppSelf->autor;
      PyObject* pyOut = 
Shiboken::Conversions::copyToPython(Shiboken::Conversions::PrimitiveTypeConverter<uint>(),
 &cppOut_local);
      return pyOut;
  }

I need to get shiboken to provide the same behavior on Linux as on
AIX. While debugging this, it seems that the alias for "uint" doesn't
map to "unsigned int" on AIX. In ApiExtractor/typesystem.cpp from
shiboken:
  bool TypeEntry::isCppPrimitive() const
  {
      if (!isPrimitive())
          return false;

      PrimitiveTypeEntry* aliasedType = 
((PrimitiveTypeEntry*)this)->basicAliasedTypeEntry();
      QByteArray typeName = (aliasedType ? aliasedType->name() : 
m_name).toAscii();

On AIX, aliasedType is NULL while on Solaris, HP-UX, and Linux, it is
not. I presume this means there is on alias from "uint" to "unsigned
int". Where in the code should I be looking further?

-- 
albert chin (ch...@thewrittenword.com)
_______________________________________________
PySide mailing list
PySide@qt-project.org
http://lists.qt-project.org/mailman/listinfo/pyside

Reply via email to