Summary: | sci-geosciences/qgis-2.18.12-r100[python]: 'pysqlite_Connection {aka struct <anonymous>}' has no member named 'ob_type' | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Thomas Beutin <tb> |
Component: | Current packages | Assignee: | Sci-geo Project <sci-geosciences> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | ag+services, Martin.vGagern, thomas.bettler |
Priority: | Normal | Keywords: | PMASKED |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | 635798 | ||
Bug Blocks: | |||
Attachments: |
build.log (gzipped)
layman xml fixed qgis 2.18.10 qt4 ebuild build.log (gzipped) of sci-geosciences/qgis-2.18.12-r100 |
Description
Thomas Beutin
2017-07-04 08:25:50 UTC
Created attachment 480620 [details]
build.log (gzipped)
i can compile this by disabling the "python" USE flag (and also "mapserver" because this depends on "python"), but that's not what i want If you want newer QGIS, just emerge from a17rgentoo overlay. That version still uses PyQt4 and Python2.7. # eix qgis [U] sci-geosciences/qgis Available versions: 2.18.3-r1^t (~)2.18.10^t (~)2.18.10^t[1] (~)2.18.10-r100^t[1] **9999^t[1] **9999[2] {designer examples georeferencer gps grass gsl mapserver oracle postgres python sqlite touch webkit PYTHON_SINGLE_TARGET="python3_4 python3_5" PYTHON_TARGETS="python2_7 python3_4 python3_5"} Installed versions: 2.18.10^t[1](15:54:32 05.07.2017)(examples georeferencer mapserver postgres python -grass -oracle -webkit PYTHON_TARGETS="python2_7") Homepage: http://www.qgis.org/ Description: User friendly Geographic Information System [1] "a17rgentoo" /var/lib/layman/a17rgentoo [2] "science" /var/lib/layman/science It seems we may not actually need to build pyspatialite at all which is like a bundled fork of pysqlite - Fedora doesn't as well it seems. (In reply to Karol Grudziński from comment #3) > If you want newer QGIS, just emerge from a17rgentoo overlay. That version > still uses PyQt4 and Python2.7. Thanks. Unfortunately, the overlay is not registered with the layman remote list. So one has to make a local list xml in /etc/layman/overlays/a17forqgis.xml, attached. $ emerge =sci-geosciences/qgis-2.18.10::a17rgentoo halted with: make[2]: *** No rule to make target '/usr/lib64/libqscintilla2.so', needed by 'output/lib64/libqgis_gui.so.2.18.10'. Stop. Will investigate since it looks solvable. Hm, not sure why it wants to make /usr/lib64/libqscintilla2.so, it is already installed. > > # eix qgis > [U] sci-geosciences/qgis > > Available versions: 2.18.3-r1^t (~)2.18.10^t (~)2.18.10^t[1] > (~)2.18.10-r100^t[1] **9999^t[1] **9999[2] {designer examples georeferencer > gps grass gsl mapserver oracle postgres python sqlite touch webkit > PYTHON_SINGLE_TARGET="python3_4 python3_5" PYTHON_TARGETS="python2_7 > python3_4 python3_5"} > Installed versions: 2.18.10^t[1](15:54:32 05.07.2017)(examples > georeferencer mapserver postgres python -grass -oracle -webkit > PYTHON_TARGETS="python2_7") > Homepage: http://www.qgis.org/ > Description: User friendly Geographic Information System > > [1] "a17rgentoo" /var/lib/layman/a17rgentoo > [2] "science" /var/lib/layman/science Created attachment 484156 [details]
layman xml
a17rgentoo overlay layman xml
Created attachment 484344 [details]
fixed qgis 2.18.10 qt4 ebuild
(In reply to Andreas Plesch from comment #5) > (In reply to Karol Grudziński from comment #3) > > If you want newer QGIS, just emerge from a17rgentoo overlay. That version > > still uses PyQt4 and Python2.7. > > Thanks. Unfortunately, the overlay is not registered with the layman remote > list. So one has to make a local list xml in > /etc/layman/overlays/a17forqgis.xml, attached. > > $ emerge =sci-geosciences/qgis-2.18.10::a17rgentoo halted with: > > make[2]: *** No rule to make target '/usr/lib64/libqscintilla2.so', needed > by 'output/lib64/libqgis_gui.so.2.18.10'. Stop. > > Will investigate since it looks solvable. > > Hm, not sure why it wants to make /usr/lib64/libqscintilla2.so, it is > already installed. > But with qt4 it is installed in /usr/lib64/qt4/, so cmake does not find it. I could correct the relevant line in the overlay ebuild (PR submitted to a17rgentoo, and fixed ebuild attached below) and qgis 2.18.10 then can emerge without a problem. Launching qgis then appears to work fine, with python support ! I now have a working 2.18.10 qgis. (In reply to Karol Grudziński from comment #3) > If you want newer QGIS, just emerge from a17rgentoo overlay. That version > still uses PyQt4 and Python2.7. unfortunately, qt4 is not an option for me any longer. (In reply to Thomas Beutin from comment #9) > (In reply to Karol Grudziński from comment #3) > > If you want newer QGIS, just emerge from a17rgentoo overlay. That version > > still uses PyQt4 and Python2.7. > > unfortunately, qt4 is not an option for me any longer. I would like to switch to qt5 if python would work, as well. However, I am not sure that 2.18 is actually confirmed to work with qt5 and python since the official, upstream ubuntu builds still use qt4, for 2.18. Only 2.99, and then 3.0, use qt5, at least upstream. (In reply to Andreas Plesch from comment #5) > $ emerge =sci-geosciences/qgis-2.18.10::a17rgentoo halted with: > > make[2]: *** No rule to make target '/usr/lib64/libqscintilla2.so', needed > by 'output/lib64/libqgis_gui.so.2.18.10'. Stop. > > Will investigate since it looks solvable. > > Hm, not sure why it wants to make /usr/lib64/libqscintilla2.so, it is > already installed. > I forgot to mention this. There is error in one of QGIS's make files. I just made symlink /usr/lib64/qt4/libqscintilla2.so -> /usr/lib64/libqscintilla2.so which I removed after emerge and QGIS works fine :-). 2.18.12 is in tree, please test. 2.18.12 is in tree, please test. (In reply to Andreas Sturmlechner from comment #13) > 2.18.12 is in tree, please test. The issue is still alive, i'll attach my gzipped build.log Created attachment 494712 [details]
build.log (gzipped) of sci-geosciences/qgis-2.18.12-r100
I assume you didn't test with 2.18.12, but only -r100. (In reply to Andreas Sturmlechner from comment #16) > I assume you didn't test with 2.18.12, but only -r100. yes, that's right. But since 2.18.12 uses qt4 instead of qt5 it's not an option for me. But then let's use the correct version information. (In reply to Andreas Sturmlechner from comment #18) > But then let's use the correct version information. Oops, i'm sorry, you're right. In the meantime i checked your suggestion (sci-geosciences/qgis-2.18.12::gentoo[qt4,-qt5]), and i'm able to compile and run it: "Help" -> "About" shows: QGIS version 2.18.12 QGIS code branch Release 2.18 Compiled against Qt 4.8.7 Running against Qt 4.8.7 Compiled against GDAL/OGR 2.0.3 Running against GDAL/OGR 2.0.3 Compiled against GEOS 3.6.1-CAPI-1.10.1 Running against GEOS 3.6.1-CAPI-1.10.1 r0 PostgreSQL Client Version 9.6.5 SpatiaLite Version 4.3.0 QWT Version 6.1.3 PROJ.4 Version 492 QScintilla2 Version 2.9.4 Let's see if this might work for a while. Thank You so far! :) Seems to be an Python3 changes issue: ----------8<-------------- Another change in the object header is that the PyObject_HEAD macro has changed so that ob_type is now in a nested structure. This means you no longer can pick the ob_type directly from the struct, so code like ob->ob_type stops working. You should replace this with Py_TYPE(ob). The Py_TYPE macro doesn’t appear until Python 2.6, so to support earlier versions we make another #ifndef: #ifndef Py_TYPE #define Py_TYPE(ob) (((PyObject*)(ob))->ob_type) #endif ---------8<--------------- from http://python3porting.com/cextensions.html BTW: same in current upstream 2.18.13 ervin Opened a upstream issue: https://issues.qgis.org/issues/17198 ervin The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e1c869e494ee8bd1d937942b5571a25a08769bf9 commit e1c869e494ee8bd1d937942b5571a25a08769bf9 Author: Andreas Sturmlechner <asturm@gentoo.org> AuthorDate: 2017-12-21 02:24:43 +0000 Commit: Andreas Sturmlechner <asturm@gentoo.org> CommitDate: 2017-12-21 02:34:19 +0000 sci-geosciences/qgis: Drop old Closes: https://bugs.gentoo.org/623780 Package-Manager: Portage-2.3.19, Repoman-2.3.6 .../qgis/files/qgis-2.18.6-python.patch | 25 --- sci-geosciences/qgis/metadata.xml | 1 - sci-geosciences/qgis/qgis-2.18.12-r100.ebuild | 234 --------------------- 3 files changed, 260 deletions(-) |