[Qgis-developer] Building QGIS2.99 cloned from GitHub on Ubuntu 16.10 (yakkety) 64-bit Python

gordon at shieldaig.com gordon at shieldaig.com
Thu Feb 9 18:26:47 PST 2017


This is what I changed to get what I had to build on Ubuntu 16.10.  I am 
using the free open source version of Qt directly from their website.

1.  I used the Qt Maintenance tool to install a local copy of Qt 5.7.1, 
to be consistent with `pyqt5-dev`, `pyqt5-dev-tools` and some other 
python packages, and modified `ccmake ..` to use it except for Qt5WebKit 
and Qt5WebKitWidgets which remained as configured.  That means in the 
ccmake I changed the path from Qt5Concurrent_DIR to Qt5Xml_DIR to 
`/home/<my username>/Qt/5.7/gcc_64/lib/cmake/...`

2.  I modified `qendian.h` in the Qt 5.7 folder `include/QtCore` I made 
beginning section of the Qt 5.7 file the same as Qt 5.6 for 
QT_HAS_BUILTIN ie.

`#ifdef __has_builtin
#  define QT_HAS_BUILTIN(x)     __has_builtin(x)
#else
#  define QT_HAS_BUILTIN(x)     0
#endif`

3.  In folder QGIS/src/core/qgis.h I added the line `#include 
<QIODevice>` before all other includes.  This eliminate a problem with a 
`isTransactionStarted` missing member of IODevice Class.  I did this 
because the header said must be included before any `open`.

4.  In folder QGIS/src/gui/qgisgui.h I added the line `#include 
<QIODevice>` before all other includes.  This eliminate a problem with a 
`isTransactionStarted` missing member of IODevice Class.

5.  In folder QGIS/src/gui/qgshelp.h I added the line `#include 
<QIODevice>` before all other includes.  This eliminate a problem with a 
`isTransactionStarted` missing member of IODevice Class.

Hopefully these changes will point the development team or someone to 
problems building on Ubuntu 16.10 64-bit - I did a full upgraded to it 
from 16.04 just a few days ago.  I did install `geos` 3.6 from source 
but that probably made little difference but a fix of that issue is now 
on Github.

At [ 89%] Generating ui_DlgCreateConstraint.py

`Segmentation fault (core dumped)
python/plugins/db_manager/CMakeFiles/zzz-db_manager-15-depend.dir/build.make:72: 
recipe for target 'python/plugins/db_manager/ui_DlgAddGeometryColumn.py' 
failed
make[2]: *** [python/plugins/db_manager/ui_DlgAddGeometryColumn.py] 
Error 139
make[2]: *** Waiting for unfinished jobs....
Segmentation fault (core dumped)
python/plugins/db_manager/CMakeFiles/zzz-db_manager-15-depend.dir/build.make:76: 
recipe for target 'python/plugins/db_manager/ui_DlgCreateConstraint.py' 
failed
make[2]: *** [python/plugins/db_manager/ui_DlgCreateConstraint.py] Error 
139
CMakeFiles/Makefile2:5428: recipe for target 
'python/plugins/db_manager/CMakeFiles/zzz-db_manager-15-depend.dir/all' 
failed
make[1]: *** 
[python/plugins/db_manager/CMakeFiles/zzz-db_manager-15-depend.dir/all] 
Error 2
make[1]: *** Waiting for unfinished jobs....`

The build continued until:
`[ 94%] Linking CXX shared library ../../output/lib/libqgis_app.so
[ 94%] Built target qgis_app`

There may have been an easier way but I didn't know what it was.  I am 
not that familiar with Qt.  I haven't resolve the db_manager issue.  
Anyone know how to fix that?

Gordon

On 2017-02-09 03:50, Jürgen E. Fischer wrote:
> Hi Gordon,
> 
> On Wed, 08. Feb 2017 at 18:01:52 -0500, gordon at shieldaig.com wrote:
>> This is what I discovered.
>> 
>> On Ubuntu 16.10 the following packages: `pyqt5-dev pyqt5-dev-tools
>> pyqt5.qsci-dev` seem to be the Qt 5.7 version.
>> I removed them and reinstalled to confirm.  Then I deleted the build
>> folder and started over.
> 
> As a shortcut you can also build debian packages (see INSTALL). That 
> will take
> care of the dependencies (ie. complain about what's missing) and leave 
> a build
> directory in debian/build.   You could also interrupt the build once 
> it's
> setup.
> 
> 
> Jürgen
> 
> _______________________________________________
> Qgis-developer mailing list
> Qgis-developer at lists.osgeo.org
> List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer


More information about the Qgis-developer mailing list