[PyQt] [SOLVED] sip: __or__() unsupported function return type - provide %MethodCode and a C++ signature ( QT 4.8.1 + PyQt 4.9.1 )

Brian Kelley kelley at eyesopen.com
Thu Apr 26 19:08:17 BST 2012

Phil is putting out a new snapshot, but here are the details:

this bug is encountered when Qt is build with no open ssl, if you don't want to wait for the snapshot or next release, you can do the following.

Edit PyQt-*-4.9.1/sip/QtNetwork/qssl.sip

You need to edit the bottom of the file so that the Qflags portion are  inside the
 %If (Qt_4_3_0 -)
 %If (PyQt_OpenSSL)
statements at the top of the file

The lines at the end should look like the following

%If (Qt_4_8_0 -)
QFlags<QSsl::SslOption> operator|(QSsl::SslOption f1, QFlags<QSsl::SslOption> f2);
%If (Qt_4_8_0 -)
QFlags<QSsl::SslOption> operator|(QSsl::SslOption f1, QSsl::SslOption f2);


Then build as normal.

Good luck.


From: Kah Fai Chong <kfchong at altera.com<mailto:kfchong at altera.com>>
Date: Wed, 25 Apr 2012 20:12:34 -0700
To: "'pyqt at riverbankcomputing.com<mailto:'pyqt at riverbankcomputing.com>'" <pyqt at riverbankcomputing.com<mailto:pyqt at riverbankcomputing.com>>
Subject: [PyQt] sip: __or__() unsupported function return type - provide %MethodCode and a C++ signature ( QT 4.8.1 + PyQt 4.9.1 )

Hi PyQt Developer,

I am QT commercial customer 01-003031. I face problem when I installing windows pyqt 4.9.1.

Setup Environment

1.       Windows 7 64bits

2.       MSVC 2008

3.       QT 4.8.1

4.       SIP 4.13.2

5.       Python 2.7.1

Environment Variable
PATH=s:\tools\qt\4.8.1\windows64\bin;s:\tools\qt\4.8.1\windows64\bin;"c:\ProgramFiles\MicrosoftSDKs\Windows\v6.0A\Bin\x64";S:\tools\share\python\2.7.1\windows64\bin;C:\devstudio2008\VC\BIN\amd64;C:\WINDOWS\Microsoft.NET\Framework64\v3.5;C:\WINDOWS\Microsoft.NET\Framework64\v3.5\Microsoft .NET Framework 3.5 (Pre-ReleaseVersion);C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727;C:\devstudio2008\VC\VCPackages;C:\devstudio2008\Common7\IDE;C:\devstudio2008\Common7\Tools;C:\devstudio2008\Common7\Tools\bin;s:\tools\arc\bin;s:\tools\perl\current\windows32\bin;s:\tools\bin\windows32;c:\mks\bin;c:\mks\bin64;c:\mks\bin\X11;c:\mks\mksnt;C:\WINDOWS\SysWOW64;c:\windows\system32;c:\windows;c:\windows\system32\wbem;C:\Program Files (x86)\Microsoft SQL Server\90\Tools\bin
LIB=C:\devstudio2008\VC\ATLMFC\LIB\amd64;C:\devstudio2008\VC\LIB\amd64;;"c:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib\x64"
INCLUDE=C:\devstudio2008\VC\ATLMFC\INCLUDE;C:\devstudio2008\VC\INCLUDE;;"c:\Program Files\Microsoft SDKs\Windows\v6.0A\Include"

Error Message
When I running configure PyQt, the combination of Pyqt 4.9.1, SIP 4.13.2, QT 4.8.1 will bring out problem below.
“sip: __or__() unsupported function return type - provide %MethodCode and a C++ signature Error: Unable to create the C++ code.

However, the combination of Pyqt 4.9.1, SIP 4.13.2, QT 4.7.0 is working fine.  Is it PyQt 4.9.1 not compatible with QT 4.8.1? or I missing out something here? Please help.
FYI. The environment I configure for PyQt on both are same except the QT version.

Today, I tried to exclude out problematic QT module when I install Pyqt 4.9.1, SIP 4.13.2, QT 4.8.1 that are (QtDeclarative, QtWebKit, QtNetwork, QtXmlPatterns), it is working fine now. But I guess these 4 QT module are important to us as well. Could you tell me what’s wrong when I install Pyqt 4.9.1 with SIP 4.13.2, QT 4.8.1, Python 2.7.1?


Kah Fai

Details Error Message
Qt v4.8.1 Desktop edition is being used.
Qt is licensed to Denis Goh.
SIP 4.13.2 is being used.
The Qt header files are in S:\tools\qt\4.8.1\windows64\include.
The shared Qt libraries are in S:\tools\qt\4.8.1\windows64\lib.
The Qt binaries are in S:\tools\qt\4.8.1\windows64\bin.
The Qt mkspecs directory is in S:\tools\qt\4.8.1\windows64.
These PyQt modules will be built: QtCore, QtGui, QtHelp, QtMultimedia,
QtNetwork, QtDeclarative, QtOpenGL, QtScript, QtScriptTools, QtSql, QtSvg,
QtTest, QtWebKit, QtXml, QtXmlPatterns, phonon, QtDesigner, QAxContainer.
The PyQt Python package will be installed in
PyQt is being built with generated docstrings.
The Designer plugin will be installed in
The PyQt .sip files will be installed in
pyuic4, pyrcc4 and pylupdate4 will be installed in
Generating the C++ source for the QtCore module...
"S:\tools\share\python\2.7.1\windows64\sip" -w -o -x VendorID -t WS_WIN -x PyQt_
OpenSSL -x PyQt_NoPrintRangeBug -t Qt_4_8_1 -x Py_v3 -g -a QtCore.api -c S:\tool
s\pyqt\4.9.1\PyQt-win-commercial-4.9.1\QtCore -b QtCore\QtCore.sbf -I S:\tools\p
yqt\4.9.1\PyQt-win-commercial-4.9.1\sip S:\tools\pyqt\4.9.1\PyQt-win-commercial-
Creating the Makefile for the QtCore module...
Generating the C++ source for the QtDeclarative module...
"S:\tools\share\python\2.7.1\windows64\sip" -w -o -x VendorID -t WS_WIN -x PyQt_
OpenSSL -x PyQt_NoPrintRangeBug -t Qt_4_8_1 -x Py_v3 -g -a QtDeclarative.api -c
S:\tools\pyqt\4.9.1\PyQt-win-commercial-4.9.1\QtDeclarative -b QtDeclarative\QtD
eclarative.sbf -I S:\tools\pyqt\4.9.1\PyQt-win-commercial-4.9.1\sip S:\tools\pyq
sip: __or__() unsupported function return type - provide %MethodCode and a C++ signature Error: Unable to create the C++ code.

Confidentiality Notice.
This message may contain information that is confidential or otherwise protected from disclosure. If you are not the intended recipient, you are hereby notified that any use, disclosure, dissemination, distribution, or copying of this message, or any attachments, is strictly prohibited. If you have received this message in error, please advise the sender by reply e-mail, and delete the message and any attachments. Thank you.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.riverbankcomputing.com/pipermail/pyqt/attachments/20120426/4394e8c0/attachment-0001.html>

More information about the PyQt mailing list