qgis / homebrew-qgisdev

Homebrew recipes for QGIS and MacOS
39 stars 31 forks source link

QT5.9 (without webkit) breaking build #30

Closed ArrEssJay closed 6 years ago

ArrEssJay commented 7 years ago

Homebrew core has moved to QT 5.9.0 This seems to be breaking the build again.

I can work around by installing QT 5.9.0 from source with brew install qt --with-qtwebkit

cd /tmp/qgis3-dev-20170613-34472-em5akx/build/python/plugins/db_manager && /tmp/qgis3-dev-20170613-34472-em5akx/scripts/pyuic-wrapper.sh /usr/local/bin/pyuic5 /tmp/qgis3-dev-20170613-34472-em5akx/build/output/lib /tmp/qgis3-dev-20170613-34472-em5akx/build/output/python /usr/local/bin/python3 /tmp/qgis3-dev-20170613-34472-em5akx/python/plugins/db_manager/ui/DlgAddGeometryColumn.ui -o /tmp/qgis3-dev-20170613-34472-em5akx/build/python/plugins/db_manager/ui_DlgAddGeometryColumn.py
Traceback (most recent call last):
  File "/tmp/qgis3-dev-20170613-34472-em5akx/scripts/pyuic-wrapper.py", line 26, in <module>
    import qgis.PyQt.uic.pyuic
  File "/tmp/qgis3-dev-20170613-34472-em5akx/build/output/python/qgis/__init__.py", line 72, in <module>
    from qgis.core import QgsFeature, QgsGeometry
  File "/tmp/qgis3-dev-20170613-34472-em5akx/build/output/python/qgis/core/__init__.py", line 34, in <module>
    from qgis._core import *
ImportError: dlopen(/tmp/qgis3-dev-20170613-34472-em5akx/build/output/python/qgis/_core.so, 2): Symbol not found: __ZN15QQuickFlickable11contentItemEv
  Referenced from: /usr/local/opt/qt5-webkit/lib/QtWebKit.framework/Versions/5/QtWebKit
  Expected in: /usr/local/opt/qt5/lib/QtQuick.framework/Versions/5/QtQuick
 in /usr/local/opt/qt5-webkit/lib/QtWebKit.framework/Versions/5/QtWebKit
m-kuhn commented 7 years ago

There is a pull request open for an update of qtwebkit to 5.9 in osgeo4mac, but the Formula still needs to be fixed.

https://github.com/OSGeo/homebrew-osgeo4mac/pull/234

dakcarto commented 7 years ago

Should be fixed now with recent changes to qt5-webkit, now at 5.9.1 like Homebrew's qt. Please try again.

m-kuhn commented 7 years ago

Thanks Larry, travis compiles qgis a lot happier again with these updates

timlinux commented 7 years ago

Thanks for the fixes @dakcarto

I get the correct qt5-webkit version installed now, but still have some compilation issues relating to WebKit:

[58/1824 3.9/sec] Building CXX object src/core/CMakeFiles/qgis_core.dir/moc_qgswebpage.cpp.o
FAILED: src/core/CMakeFiles/qgis_core.dir/moc_qgswebpage.cpp.o 
/usr/local/opt/ccache/libexec/clang++  -DQGISDEBUG=1 -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DISABLE_DEPRECATED_BEFORE=0 -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_CAST_TO_ASCII -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_PRINTSUPPORT_LIB -DQT_SQL_LIB -DQT_SVG_LIB -DQT_WEBKITWIDGETS_LIB -DQT_WEBKIT_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -DWITH_BINDINGS -DWITH_QTWEBKIT -D_HAVE_PTHREAD_ -D_TTY_POSIX_ -Dqgis_core_EXPORTS -I. -I/Users/timlinux/dev/cpp/QGIS/src/core -Isrc/core -isystem /usr/local/include -I/Users/timlinux/dev/cpp/QGIS/src/core/annotations -I/Users/timlinux/dev/cpp/QGIS/src/core/auth -I/Users/timlinux/dev/cpp/QGIS/src/core/composer -I/Users/timlinux/dev/cpp/QGIS/src/core/dxf -I/Users/timlinux/dev/cpp/QGIS/src/core/effects -I/Users/timlinux/dev/cpp/QGIS/src/core/expression -I/Users/timlinux/dev/cpp/QGIS/src/core/fieldformatter -I/Users/timlinux/dev/cpp/QGIS/src/core/geometry -I/Users/timlinux/dev/cpp/QGIS/src/core/geonode -I/Users/timlinux/dev/cpp/QGIS/src/core/layertree -I/Users/timlinux/dev/cpp/QGIS/src/core/layout -I/Users/timlinux/dev/cpp/QGIS/src/core/metadata -I/Users/timlinux/dev/cpp/QGIS/src/core/pal -I/Users/timlinux/dev/cpp/QGIS/src/core/processing -I/Users/timlinux/dev/cpp/QGIS/src/core/processing/models -I/Users/timlinux/dev/cpp/QGIS/src/core/providers -I/Users/timlinux/dev/cpp/QGIS/src/core/providers/memory -I/Users/timlinux/dev/cpp/QGIS/src/core/raster -I/Users/timlinux/dev/cpp/QGIS/src/core/renderer -I/Users/timlinux/dev/cpp/QGIS/src/core/scalebar -I/Users/timlinux/dev/cpp/QGIS/src/core/symbology -I/Users/timlinux/dev/cpp/QGIS/src/core/gps/qextserialport -isystem /usr/local/opt/spatialindex/include/spatialindex -isystem /usr/local/opt/proj/include -isystem /usr/local/opt/geos/include -isystem /usr/local/opt/gdal2/include -isystem /usr/local/opt/expat/include -isystem /usr/local/opt/sqlite/include -isystem /usr/local/opt/libspatialite/include -isystem /usr/local/opt/qca/lib/qca-qt5.framework/Headers -isystem /usr/local/include/qt5keychain -iframework /usr/local/opt/qt5/lib -isystem /usr/local/opt/qt5/lib/QtXml.framework/Headers -isystem /usr/local/opt/qt5/lib/QtCore.framework/Headers -isystem /usr/local/opt/qt5/./mkspecs/macx-clang -isystem /usr/local/opt/qt5/lib/QtConcurrent.framework/Headers -isystem /usr/local/opt/qt5/lib/QtGui.framework/Headers -isystem /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/OpenGL.framework/Headers -isystem /usr/local/opt/qt5/lib/QtWidgets.framework/Headers -isystem /usr/local/opt/qt5/lib/QtPrintSupport.framework/Headers -isystem /usr/local/opt/qt5/lib/QtSvg.framework/Headers -isystem /usr/local/opt/qt5/lib/QtNetwork.framework/Headers -iframework /usr/local/opt/qt5-webkit/lib -isystem /usr/local/opt/qt5-webkit/lib/QtWebKit.framework/Headers -isystem /usr/local/opt/qt5-webkit/lib/QtWebKitWidgets.framework/Headers -isystem /usr/local/opt/qt5/lib/QtSql.framework/Headers -isystem /usr/local/opt/qt5/lib/QtPositioning.framework/Headers -DSPATIALITE_VERSION_GE_4_0_0 -DSPATIALITE_VERSION_G_4_1_1 -DSPATIALITE_HAS_INIT_EX -Wall -Wextra -Wno-long-long -Wformat-security -Wno-strict-aliasing -Wno-return-type-c-linkage -Wno-overloaded-virtual -Qunused-arguments -O2 -g -DNDEBUG -fPIC -fvisibility=hidden   -DTEST_DATA_DIR="\"/Users/timlinux/dev/cpp/QGIS/tests/testdata\"" -F/usr/local/opt/qca/lib  -fPIC -std=gnu++11 -Wno-deprecated-declarations -MD -MT src/core/CMakeFiles/qgis_core.dir/moc_qgswebpage.cpp.o -MF src/core/CMakeFiles/qgis_core.dir/moc_qgswebpage.cpp.o.d -o src/core/CMakeFiles/qgis_core.dir/moc_qgswebpage.cpp.o -c src/core/moc_qgswebpage.cpp
src/core/moc_qgswebpage.cpp:57:20: error: out-of-line definition of 'qt_static_metacall' does not match any declaration in 'QWebSettings'
void QWebSettings::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
                   ^~~~~~~~~~~~~~~~~~
src/core/moc_qgswebpage.cpp:65:33: error: no member named 'staticMetaObject' in 'QWebSettings'
const QMetaObject QWebSettings::staticMetaObject = {
                  ~~~~~~~~~~~~~~^
src/core/moc_qgswebpage.cpp:67:35: error: use of undeclared identifier 'qt_static_metacall'
      qt_meta_data_QWebSettings,  qt_static_metacall, nullptr, nullptr}
                                  ^
src/core/moc_qgswebpage.cpp:71:34: error: out-of-line definition of 'metaObject' does not match any declaration in 'QWebSettings'
const QMetaObject *QWebSettings::metaObject() const
                                 ^~~~~~~~~~
src/core/moc_qgswebpage.cpp:73:21: error: invalid use of non-static data member 'd_ptr'
    return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
           ~~~~~~~~~^~~~~
src/core/moc_qgswebpage.cpp:73:21: error: 'd_ptr' is a protected member of 'QObject'
/usr/local/opt/qt5/lib/QtCore.framework/Headers/qobject.h:438:33: note: declared protected here
    QScopedPointer<QObjectData> d_ptr;
                                ^
src/core/moc_qgswebpage.cpp:73:50: error: invalid use of non-static data member 'd_ptr'
    return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
                                        ~~~~~~~~~^~~~~
src/core/moc_qgswebpage.cpp:73:50: error: 'd_ptr' is a protected member of 'QObject'
/usr/local/opt/qt5/lib/QtCore.framework/Headers/qobject.h:438:33: note: declared protected here
    QScopedPointer<QObjectData> d_ptr;
                                ^
src/core/moc_qgswebpage.cpp:76:21: error: out-of-line definition of 'qt_metacast' does not match any declaration in 'QWebSettings'
void *QWebSettings::qt_metacast(const char *_clname)
                    ^~~~~~~~~~~
src/core/moc_qgswebpage.cpp:81:21: error: call to non-static member function without an object argument
    return QObject::qt_metacast(_clname);
           ~~~~~~~~~^~~~~~~~~~~
src/core/moc_qgswebpage.cpp:84:19: error: out-of-line definition of 'qt_metacall' does not match any declaration in 'QWebSettings'
int QWebSettings::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
                  ^~~~~~~~~~~
src/core/moc_qgswebpage.cpp:86:20: error: call to non-static member function without an object argument
    _id = QObject::qt_metacall(_c, _id, _a);
          ~~~~~~~~~^~~~~~~~~~~
12 errors generated.
timlinux commented 7 years ago

Ok sorry for the noise - I did a clean then build and it all works nicely now!

timlinux commented 7 years ago

@RobDeBagel can you test and close if it builds for you?

dakcarto commented 6 years ago

Closing. Please reopen if needed.