Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Appears PyQt 4.8.2 now wraps QSet which causes a SIP error during compilation #13438

Closed
qgib opened this issue Dec 31, 2010 · 1 comment
Closed
Labels
Bug Either a bug report, or a bug fix. Let's hope for the latter! Build/Install Related to compiling or installing QGIS
Milestone

Comments

@qgib
Copy link
Contributor

qgib commented Dec 31, 2010

Author Name: sharpie - (sharpie -)
Original Redmine Issue: 3378

Redmine category:build/install
Assignee: nobody -


I'm not that familiar with the inner workings of SIP or [[PyQT]], so apologies up front for any inaccuracies in the following report.

After upgrading to Qt 4.7.1/PyQt 4.8.2/SIP 4.12, I get the following error during compilation:

sip: /tmp/homebrew-qgis-1.6.0-ecgD/qgis-1.6.0/python/core/conversions.sip:326: %MappedType template for this type has already been defined

Examining the offending file, python/core/conversions.sip, reveals that SIP has a complaint with the definition of QSet on line 326. The header also explains that:

/*
This file contains code for conversion between various (often nested) mapped types
which are not wrapped by [[PyQt]]:
- QVector< QVector<TYPE> >
- QVector< QVector< QVector<TYPE> > >
- QList< QList<TYPE> >
- QSet<int>
- QSet<TYPE>
- QMap<int, QMap<int, TYPE> >
- QMap<QString, QVariant::Type>
- QMap<TYPE1, TYPE2*>
- QMap<double, TYPE>
- QMultiMap<double, TYPE2>
- QMap<int, [[QgsOverlayObject]]*>*
*/

A quick grep of the [[PyQt]] 4.8.2 installation revealed that QSet is defined in:

PYQT_ROOT/share/sip/QtCore/qset.sip

The "4.8.2 Changelog":http://www.riverbankcomputing.com/static/Downloads/PyQt4/ChangeLog hints that this may have been added in the current release.

Unfortunately, Riverbank has an ugly habit of not maintaining an archive of past releases or providing repository access for [[PyQt]], so I cannot verify that QSet was indeed added in 4.8.2.

Removing the QSet definition from conversions.sip allows QGIS to compile and it appears to work. However, this is definitely not the right thing to do and I don't have the [[PyQt]] experience to suggest what the right thing may be.

Make log attached.


@qgib
Copy link
Contributor Author

qgib commented Dec 31, 2010

Author Name: Jürgen Fischer (@jef-n)


should be fixed in 741d99c (SVN r14989). Happy new year.


  • resolution was configured as fixed
  • status_id was changed from Open to Closed

@qgib qgib added Bug Either a bug report, or a bug fix. Let's hope for the latter! Build/Install Related to compiling or installing QGIS labels May 24, 2019
@qgib qgib added this to the Version 1.7.0 milestone May 24, 2019
@qgib qgib closed this as completed May 24, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Either a bug report, or a bug fix. Let's hope for the latter! Build/Install Related to compiling or installing QGIS
Projects
None yet
Development

No branches or pull requests

1 participant