Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Language Bindings
  4. Problem building pyside-1.2.1 on AIX (seems to be an issue with shiboken)
Forum Updated to NodeBB v4.3 + New Features

Problem building pyside-1.2.1 on AIX (seems to be an issue with shiboken)

Scheduled Pinned Locked Moved Language Bindings
2 Posts 1 Posters 1.5k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T Offline
    T Offline
    twwlogin
    wrote on last edited by
    #1

    I've built pyside-1.2.1 on Solaris, HP-UX, and RHEL. Now I'm trying to build it on AIX. The build errors with:
    @
    [ 19%] Building CXX object PySide/QtGui/CMakeFiles/QtGui.dir/PySide/QtGui/qkeyevent_wrapper.cpp.o
    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, the problematic section is:
    @
    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_QtGuiTy
    pes[SBK_QKEYEVENT_IDX], (SbkObject*)self));
    PyObject* pyOut = Shiboken::Conversions::copyToPython(Shiboken::Conversions:
    :PrimitiveTypeConverter<uint>(), &cppSelf->autor);
    return pyOut;
    }
    @

    The problem is &cppSelf->autor. Taking the address of a bit-field is not allowed. Looking at this same file on Solaris, HP-UX, and Linux shows the function 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;
    }
    @

    Note the assingment of cppSelf->autor to cppOut_local. So, it seems like shiboken generated something different for !AIX platforms. Any idea why this is the case and how to get the shiboken behavior on AIX to match that on Linux?

    1 Reply Last reply
    0
    • T Offline
      T Offline
      twwlogin
      wrote on last edited by
      #2

      Issue resolved. I posted a "patch":":http://lists.qt-project.org/pipermail/pyside/2014-April/002013.html on the pyside mailing list.

      1 Reply Last reply
      0

      • Login

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • Users
      • Groups
      • Search
      • Get Qt Extensions
      • Unsolved