[QGIS-Developer] Encountering undeclared identifiers and classes during QGIS 3 build on macOS
Denis Rouzaud
denis.rouzaud at gmail.com
Wed Mar 7 03:52:43 PST 2018
Hi,
You're using the system spatialite while you should use the brew one.
After is my cmake output.
Good luck!
Denis
-- QGIS version: 3.1.0 Master (30100)
-- Could not find GRASS 7
-- Found Proj: /usr/local/opt/proj/lib/libproj.dylib
-- Found GEOS: /usr/local/Cellar/geos/3.6.2/lib/libgeos_c.dylib (3.6.2)
-- Found GDAL: /usr/local/opt/gdal2/lib/libgdal.dylib (2.2.3)
-- Found Expat: /usr/local/opt/expat/lib/libexpat.dylib
-- Found Spatialindex: /usr/local/opt/spatialindex/lib/libspatialindex.dylib
-- Found Qwt: /usr/local/opt/qwt/lib/qwt.framework (6.1.3)
-- Found libzip: /usr/local/opt/libzip/lib/libzip.dylib
-- Found Sqlite3: /usr/local/opt/sqlite/lib/libsqlite3.dylib
-- Found PostgreSQL: /usr/local/lib/libpq.dylib
-- Found SpatiaLite: /usr/local/opt/libspatialite/lib/libspatialite.dylib
-- Qt WebKit support enabled
-- Found Qt version: 5.10.1
-- Found QScintilla2:
/usr/local/opt/qscintilla2/lib/libqscintilla2_qt5.dylib (2.10.2)
-- Found QtKeychain: /usr/local/lib/libqt5keychain.dylib
-- Found QCA: /usr/local/opt/qca/lib/qca-qt5.framework (2.1.3)
-- QtCore/QCA include/lib variables missing or CMake is cross-compiling,
-- skipping QCA OpenSSL plugin C++ check
-- Pedantic compiler settings enabled
-- Debug output enabled
-- Found Python executable: /usr/local/bin/python3
-- Found Python version: 3.6.4
-- Found Python library:
/usr/local/Frameworks/Python.framework/Versions/3.6/Python
-- Found Python site-packages: /usr/local/lib/python3.6/site-packages
-- Found PyQt5 version: 5.10
-- Found SIP version: 4.19.7
-- Found QScintilla2 PyQt module: 2.10.2
-- txt2tags not found - disabled
-- Found GSL: -L/usr/local/Cellar/gsl/2.4/lib -lgsl -lgslcblas
-- Ctest Binary Directory set to:
/Users/denis/opt/qgis/build-QGIS-Qt5/output/bin
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/denis/opt/qgis/build-QGIS-Qt5
Le lun. 5 mars 2018 à 16:39, Mikhail Katychev <mkatych at gmail.com> a écrit :
> Perhaps this is more relevant to the dev mailing list,
>
> Has anyone had any luck building QGIS 3 on macOS? I keep getting unknown
> class names and identifiers that are very close to the expected ones such
> as:
>
> 'IDataStream'; did you mean 'QDataStream'?
>
> and
>
> error: no type named 'Region' in namespace 'SpatialIndex'; did you mean 'QRegion'?
>
> as well as an indication that Rtree is unable to be found even when I did a pip install rtree:
> /Users/user/Downloads/QGIS-master/src/core/qgspointlocator.cpp:78:25: error: use of undeclared identifier 'RTree'
>
> Here is my cmake command arguments:
>
> cmake ../CMakeLists.txt \
> -DGRASS_PREFIX7=/usr/local/Cellar/grass7/7.2.2/grass-base \
> -DBISON_EXECUTABLE=/usr/local/opt/bison/bin/bison \
> -DWITH_QTWEBKIT=false \
> -DCMAKE_PREFIX_PATH=/usr/local/Cellar/qt/5.10.1 \
> -DQSCINTILLA_INCLUDE_DIR=/usr/local/Cellar/qscintilla2/2.10.3/include/ \
> -DQSCI_SIP_DIR=/usr/local/Cellar/qscintilla2/2.10.3/share/sip/Qsci \
> -DQSCINTILLA_LIBRARY=/usr/local/Cellar/qscintilla2/2.10.3/lib/libqscintilla2_qt5.13.1.1.dylib
>
> Here is my cmake output for the previous command:
>
> -- QGIS version: 3.1.0 Master (30100)
> -- Found GRASS 7: /usr/local/Cellar/grass7/7.2.2/grass-base (7.2.2, off_t size = )
> -- Found Proj: /Library/Frameworks/PROJ.framework
> -- Found GEOS: /Library/Frameworks/GEOS.framework (3.6.1)
> -- Found GDAL: /Library/Frameworks/GDAL.framework (2.1.3)
> -- Found Expat: /usr/lib/libexpat.dylib
> -- Found Spatialindex: /usr/local/lib/libspatialindex.dylib
> -- Found Qwt: /usr/local/lib/qwt.framework (6.1.3)
> -- Found libzip: /usr/local/lib/libzip.dylib
> -- Found Sqlite3: /Library/Frameworks/SQLite3.framework
> -- Found PostgreSQL: /usr/local/lib/libpq.dylib
> -- Found SpatiaLite: /Library/Frameworks/SQLite3.framework
> -- Qt WebKit support DISABLED.
> -- Found Qt version: 5.10.1
> -- Found QScintilla2: /usr/local/Cellar/qscintilla2/2.10.3/lib/libqscintilla2_qt5.13.1.1.dylib (2.10.3)
> -- Found QtKeychain: /usr/local/lib/libqt5keychain.dylib
> -- Found QCA: /usr/local/lib/qca-qt5.framework (2.1.3)
> -- QtCore/QCA include/lib variables missing or CMake is cross-compiling,
> -- skipping QCA OpenSSL plugin C++ check
> -- Pedantic compiler settings enabled
> -- Found Python executable: /usr/local/bin/python3
> -- Found Python version: 3.6.4
> -- Found Python library: /usr/local/Frameworks/Python.framework/Versions/3.6/Python
> -- Found Python site-packages: /usr/local/lib/python3.6/site-packages
> -- Found PyQt5 version: 5.10.1
> -- Found SIP version: 4.19.8
> -- Found QScintilla2 PyQt module: 2.10.3
> -- txt2tags not found - disabled
> -- Found GSL: -L/usr/local/Cellar/gsl/2.4/lib -lgsl -lgslcblas
> -- Ctest Binary Directory set to: /Users/user/Downloads/QGIS-master/output/bin
> -- Configuring done
> -- Generating done
> -- Build files have been written to: /Users/user/Downloads/QGIS-master
>
> And finally, here is my fatal error output log mostly referencing qgspointlocator.cpp:
>
>
> /Users/user/Downloads/QGIS-master/src/core/qgspointlocator.cpp:33:8:
>> error: no type named 'Point' in namespace 'SpatialIndex'; did you mean
>> 'QPoint'?
>> static SpatialIndex::Point point2point( const QgsPointXY &point )
>> ^~~~~~~~~~~~~~~~~~~
>> QPoint
>> /Users/user/Downloads/QGIS-master/src/core/qgsmaptopixel.h:28:7: note:
>> 'QPoint' declared here
>> class QPoint;
>> ^
>> /Users/user/Downloads/QGIS-master/src/core/qgspointlocator.cpp:36:10:
>> error: use of undeclared identifier 'Point'
>> return Point( plow, 2 );
>> ^
>> /Users/user/Downloads/QGIS-master/src/core/qgspointlocator.cpp:40:8:
>> error: no type named 'Region' in namespace 'SpatialIndex'; did you mean
>> 'QRegion'?
>> static SpatialIndex::Region rect2region( const QgsRectangle &rect )
>> ^~~~~~~~~~~~~~~~~~~~
>> QRegion
>> /usr/local/Cellar/qt/5.10.1/lib/QtGui.framework/Headers/qpainterpath.h:61:7:
>> note: 'QRegion' declared here
>> class QRegion;
>> ^
>> /Users/user/Downloads/QGIS-master/src/core/qgspointlocator.cpp:44:24:
>> error: no member named 'Region' in namespace 'SpatialIndex'
>> return SpatialIndex::Region( pLow, pHigh, 2 );
>> ~~~~~~~~~~~~~~^
>> /Users/user/Downloads/QGIS-master/src/core/qgspointlocator.cpp:62:39:
>> error: unknown class name 'IDataStream'; did you mean 'QDataStream'?
>> class QgsPointLocator_Stream : public IDataStream
>> ^~~~~~~~~~~
>> QDataStream
>> /usr/local/Cellar/qt/5.10.1/lib/QtCore.framework/Headers/qurl.h:61:7:
>> note: 'QDataStream' declared here
>> class QDataStream;
>> ^
>> /Users/user/Downloads/QGIS-master/src/core/qgspointlocator.cpp:65:56:
>> error: use of undeclared identifier 'RTree'
>> explicit QgsPointLocator_Stream( const QLinkedList<RTree::Data *>
>> &dataList )
>> ^
>> /Users/user/Downloads/QGIS-master/src/core/qgspointlocator.cpp:65:69:
>> error: expected expression
>> explicit QgsPointLocator_Stream( const QLinkedList<RTree::Data *>
>> &dataList )
>> ^
>> /Users/user/Downloads/QGIS-master/src/core/qgspointlocator.cpp:70:5:
>> error: unknown type name 'IData'
>> IData *getNext() override { return mIt.next(); }
>> ^
>> /Users/user/Downloads/QGIS-master/src/core/qgspointlocator.cpp:71:20:
>> error: only virtual member functions can be marked 'override'
>> bool hasNext() override { return mIt.hasNext(); }
>> ^~~~~~~~~
>> /Users/user/Downloads/QGIS-master/src/core/qgspointlocator.cpp:73:21:
>> error: only virtual member functions can be marked 'override'
>> uint32_t size() override { Q_ASSERT( false && "not available" );
>> return 0; }
>> ^~~~~~~~~
>> /Users/user/Downloads/QGIS-master/src/core/qgspointlocator.cpp:74:19:
>> error: only virtual member functions can be marked 'override'
>> void rewind() override { Q_ASSERT( false && "not available" ); }
>> ^~~~~~~~~
>> /Users/user/Downloads/QGIS-master/src/core/qgspointlocator.cpp:77:17:
>> error: use of undeclared identifier 'RTree'
>> QLinkedList<RTree::Data *> mDataList;
>> ^
>> /Users/user/Downloads/QGIS-master/src/core/qgspointlocator.cpp:77:30:
>> error: expected expression
>> QLinkedList<RTree::Data *> mDataList;
>> ^
>> /Users/user/Downloads/QGIS-master/src/core/qgspointlocator.cpp:78:25:
>> error: use of undeclared identifier 'RTree'
>> QLinkedListIterator<RTree::Data *> mIt;
>> ^
>> /Users/user/Downloads/QGIS-master/src/core/qgspointlocator.cpp:78:38:
>> error: expected expression
>> QLinkedListIterator<RTree::Data *> mIt;
>> ^
>> /Users/user/Downloads/QGIS-master/src/core/qgspointlocator.cpp:90:53:
>> error: expected class name
>> class QgsPointLocator_VisitorNearestVertex : public IVisitor
>> ^
>> /Users/user/Downloads/QGIS-master/src/core/qgspointlocator.cpp:100:27:
>> error: unknown type name 'INode'
>> void visitNode( const INode &n ) override { Q_UNUSED( n ); }
>> ^
>> /Users/user/Downloads/QGIS-master/src/core/qgspointlocator.cpp:101:39:
>> error: unknown type name 'IData'
>> void visitData( std::vector<const IData *> &v ) override { Q_UNUSED(
>> v ); }
>> ^
>> /Users/user/Downloads/QGIS-master/src/core/qgspointlocator.cpp:103:27:
>> error: unknown type name 'IData'
>> void visitData( const IData &d ) override
>>
> ^
>
> Any help is appreciated.
>
> Thanks,
> MK
>
> _______________________________________________
> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20180307/93c45c0e/attachment-0001.html>
More information about the QGIS-Developer
mailing list