[PyQt] PyQt4: compilation error with sip 4.19.14: convert ‘std::nullptr_t’ to ‘int’ in initialization

Alexei Colin ac at alexeicolin.com
Mon Feb 18 20:12:37 GMT 2019


Hi, build of PyQt4 fails with sip 4.19.14:

    g++ -c -pipe -fno-exceptions -march=x86-64 -mtune=generic -O2 -pipe
    -fstack-protector-strong -fno-plt -Wall -W -D_REENTRANT -fPIC
    -DSIP_PROTECTED_IS_PUBLIC -Dprotected=public -DQT_NO_DEBUG -DQT_PLUGIN
    -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I.
    -I/usr/include/qt4/QtCore -I/usr/include/qt4 -I.
    -I/usr/include/python3.7m -I../qpy/QtCore -I. -o
    sipQtCoreQAbstractTransition.o sipQtCoreQAbstractTransition.cpp
    /home/col/.cache/pikaur/build/pyqt4/src/PyQt4_gpl_x11-4.12.3/QtCore/sipQtCoreQAbstractTransition.cpp:812:1:
    error: cannot convert ‘std::nullptr_t’ to ‘int’ in initialization

This is on Arch Linux, gcc 8.2.1, sip.h from sip 4.19.14.

This ugly workaround to edit the generated code gets rid of the error:

    find . -type f -name '*.cpp' -exec sed -i 's/{SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR}/{SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, 0}/g' {} \;

Possibly related:

http://python.6.x6.nabble.com/PATCH-1-5-Add-SIP-NULLPTR-SIP-OVERRIDE-compatibility-macros-td5240856.html

Just reporting so that this may be fixed in the next release. Thanks.


More information about the PyQt mailing list