[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