Bug report #16033

In src/core/qgis.h, #include <qgswkbtypes.h> needs to be #include <geometry/qgswkbtypes.h>. Error: core/qgis.h:35:25: fatal error: qgswkbtypes.h: No such file or directory.

Added by Drei Eck over 2 years ago. Updated over 2 years ago.

Status:Closed
Priority:Normal
Assignee:-
Category:Build/Install
Affected QGIS version:2.18.2 Regression?:No
Operating System:arch linux Easy fix?:No
Pull Request or Patch supplied:Yes Resolution:
Crashes QGIS or corrupts data:No Copied to github as #:23948

Description

When building qgis 2.18.2, I get the error

[...]
Scanning dependencies of target compassplugin
[ 91%] Building CXX object src/plugins/compass/CMakeFiles/compassplugin.dir/qgscompassplugin.cpp.o
In file included from /tmp/qgis/src/qgis-2.18.2/src/plugins/compass/../../gui/qgisinterface.h:50:0,
                 from /tmp/qgis/src/qgis-2.18.2/src/plugins/compass/qgscompassplugin.cpp:22:
/tmp/qgis/src/qgis-2.18.2/src/plugins/compass/../../core/qgis.h:35:25: fatal error: qgswkbtypes.h: No such file or directory
 #include <qgswkbtypes.h>
                         ^
compilation terminated.
make[2]: *** [src/plugins/compass/CMakeFiles/compassplugin.dir/build.make:112: src/plugins/compass/CMakeFiles/compassplugin.dir/qgscompassplugin.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:3695: src/plugins/compass/CMakeFiles/compassplugin.dir/all] Error 2
make: *** [Makefile:150: all] Error 2
.

The solution is:

In the file

src/core/qgis.h

I need to change
#include <qgswkbtypes.h>

to
#include <geometry/qgswkbtypes.h>
.

I build qgis the following way:

  mkdir build
  cd build

  _pyqt4_sip_dir="/usr/share/sip/PyQt4" 

    cmake -G "Unix Makefiles" ../ \\
    -DCMAKE_INSTALL_PREFIX=/usr \\
    -DQGIS_MANUAL_SUBDIR=share/man \\
    -DENABLE_TESTS=FALSE \\
    -DCMAKE_SKIP_RPATH=TRUE \\
    -DPYTHON_EXECUTABLE=/usr/bin/python2 \\
    -DWITH_INTERNAL_{DATEUTIL,FUTURE,HTTPLIB2,JINJA2,NOSE2,OWSLIB,PYGMENTS,PYTZ,QWTPOLAR,SIX,WEBKIT_BINDINGS,YAML}=OFF \\
    -DWITH_INTERNAL_{QEXTSERIALPORT}=ON \\
    -DPYQT4_SIP_DIR="${_pyqt4_sip_dir}" \\
    -DWITH_SERVER=ON \\
    -DWITH_GLOBE=ON \\
    -DWITH_SERVER=ON \\
    -DWITH_GLOBE=ON \\
    -DWITH_GRASS=OFF \\
    -DWITH_GRASS7=ON \\
    -DGRASS_PREFIX7=/opt/grass \\
    -DWITH_APIDOC=OFF \\
    -DWITH_ASTYLE=OFF \\
    -DWITH_BINDINGS=ON \\
    -DWITH_CUSTOM_WIDGETS=ON \\
    -DWITH_DESKTOP=ON \\
    -DWITH_ORACLE=OFF \\
    -DWITH_POSTGRESQL=ON \\
    -DWITH_PYSPATIALITE=ON \\
    -DWITH_QSPATIALITE=ON \\
    -DWITH_QTMOBILITY=ON \\
    -DWITH_QTWEBKIT=ON \\
    -DWITH_QWTPOLAR=ON \\
    -DWITH_STAGED_PLUGINS=ON \\
    -DWITH_TOUCH=ON \\
    -DWITH_TXT2TAGS_PDF=OFF \\

  msg "Applying a dirty fix for a configuration system error ..." 
  sed -i "s| /usr/share/sip | ${_pyqt4_sip_dir} |" python/CMakeFiles/{python_module_qgis__analysis,python_module_qgis__gui,python_module_qgis__server,generate_sip_qgis._analysis_cpp_files,python_module_qgis__core,generate_sip_qgis._core_cpp_files,generate_sip_qgis._gui_cpp_files,generate_sip_qgis._networkanalysis_cpp_files,python_module_qgis__networkanalysis}.dir/build.make

  make

The output of the cmake-run is:

-- QGIS version: 2.18.2 Las Palmas (21802)
-- Found GRASS 7: /opt/grass (7.0.5, off_t size = )
-- Found Proj: /usr/lib64/libproj.so
-- Found GEOS: /usr/lib/libgeos_c.so (3.5.0)
-- Found GDAL: /usr/lib/libgdal.so (2.1.1)
-- Found Expat: /lib64/libexpat.so
-- Found Spatialindex: /usr/lib64/libspatialindex.so
-- Found Qwt: /usr/lib64/libqwt.so (6.1.3)
-- Found Sqlite3: /usr/lib64/libsqlite3.so
-- Found PostgreSQL: /usr/lib/libpq.so
-- Found SpatiaLite: /usr/lib64/libspatialite.so
-- Qt WebKit support enabled
-- Found Qt version: 4.8.7
-- Using QtMobility version: system's default
-- QtMobility version: 1.2.0
-- Touch support enabled
-- Found QScintilla2: /usr/lib64/libqscintilla2.so (2.9.3)
-- Found QCA: /usr/lib64/libqca.so (2.1.1)
-- Found QCA OpenSSL plugin
-- Pedantic compiler settings enabled
-- Found Python executable: /usr/bin/python2
-- Found Python version: 2.7.13
-- Found Python library: /usr/lib64/libpython2.7.so
-- Found PyQt4 version: 4.10.4-snapshot-e52357d82574
-- Found SIP version: 4.18.1
-- Found QScintilla2 PyQt module: 2.9.3
-- Found QwtPolar: /usr/lib64/libqwtpolar.so
-- Found GSL: -L/usr/lib -lgsl -lgslcblas -lm
-- Found FCGI: /usr/lib64/libfcgi.so
-- Qsci sip file not found - disabling bindings for derived classes
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/qgis/src/qgis-2.18.2/build

qgswkbtypes-include.patch Magnifier - patch for src/core/qgis.h that fixes the issue for me. (292 Bytes) Drei Eck, 2017-01-03 09:49 AM

Associated revisions

Revision e9c3963d
Added by Matthias Kuhn over 2 years ago

Fix compass plugin include directories

Fix #16033

History

#1 Updated by Anonymous over 2 years ago

  • Status changed from Open to Closed

Also available in: Atom PDF