Re: [QGIS-Developer] Encountering undeclared identifiers and classes during QGIS 3 build on macOS
Dennis thanks for the reply, that issue was resolved by doing as you suggested. I however am completely unable to specify my SIP directory. There doesn't seem to be any *cmake* parameters that allow me to point my PyQt5 SIP directory. I get sip: Unable to find file "QtXml/QtXmlmod.sip" make[2]: *** [python/core/sip_corepart0.cpp] Error 1 make[2]: *** Deleting file `python/core/sip_corepart0.cpp' make[1]: *** [python/CMakeFiles/python_module_qgis__core.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs [ 30%] Built target qgis_analysis [ 30%] Built target qgis_vectorlayercachetest_autogen [ 53%] Built target qgis_gui make: *** [all] Error When my Qt5Xml_DIR *ccmake* var is located in: /usr/local/opt/qt/lib/cmake/Qt5Xml And my actualy sip files are located in: /usr/local/Cellar/pyqt/5.10/share/sip/Qt5 Running *FindPyQt5.py* gives me this output: pyqt_version:050a01 pyqt_version_num:330241 pyqt_version_str:5.10.1 pyqt_version_tag: pyqt_mod_dir:/usr/local/Cellar/python/3.6.4_3/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/PyQt5 pyqt_sip_dir:/usr/local/share/sip pyqt_sip_flags:-t WS_MACX -t Qt_5_10_1 pyqt_bin_dir:/usr/local/Cellar/python/3.6.4_3/Frameworks/Python.framework/Versions/3.6/bin The thing to point out is that I don't have a directory called */usr/local/share/sip*, only a Qt4 one: */usr/local/share/sip-qt4*. Should I be creating a symlink pointing to that directory? I have also tried this solution to no avail: https://issues.qgis.org/issues/16034 Any suggestions on how to properly point to my PyQt5 directory would be a huge help. Thanks, Mikhail On Wed, Mar 7, 2018 at 5:52 AM, Denis Rouzaudwrote: > 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 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: >>
Re: [QGIS-Developer] Encountering undeclared identifiers and classes during QGIS 3 build on macOS
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 Katycheva é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: >
[QGIS-Developer] Encountering undeclared identifiers and classes during QGIS 3 build on macOS
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 ) >^~~ >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 ) >^~~~ >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 > ) >^ > /Users/user/Downloads/QGIS-master/src/core/qgspointlocator.cpp:65:69: > error: expected expression > explicit QgsPointLocator_Stream( const QLinkedList > ) > ^ >