[Qtwebengine] Building woes

Greg Hellings greg.hellings at gmail.com
Thu Jun 26 18:03:11 CEST 2014


On Thu, Jun 26, 2014 at 8:32 AM, Greg Hellings <greg.hellings at gmail.com>
wrote:

> Pierre,
>
> Thanks for the pointers. Trying an in-tree build fails at a different
> point in the build. Both points are very deep into the process. In the
> pasted block below you'll see the plugin.cpp file is looking for
> qtwebengineversion.h which is definitely present in the build tree.
> However, it seems the build for plugin.cpp is adding the search directory
> lib/QtWebEngine.framework/Headers/0.9.0 and
> lib/QtWebEngine.framework/Headers/0.9.0/QtWebEngine while the file is
> actually located in lib/QtWebEngine.framework/Versions/0/Headers/.
>

> WRT the Fedora build, I'm not familiar with gold vs bfd, but it looks like
> the system default is to use ld.bfd. I'm attempting now to kick off a build
> with ld.gold as the option instead.
>

I've tried this, but now I get the error message "/usr/bin/ld.gold:
-Wl,-z,now: unknown option" during the final link step. I'm not sure if I'm
specifying the option correctly. I've simply appended
QMAKE_LINK=/usr/bin/ld.gold to the tail of both qmake and make invocations.

--Greg

>
> --Greg
>
> <Mavericks build failure>
>
> cd webengine/plugin/ && ( test -e Makefile ||
> /Users/greg/Qt/5.3/clang_64/bin/qmake
> /Users/greg/Builds/qtwebengine/src/webengine/plugin/plugin.pro
> CONFIG-=release -o Makefile ) &&
> /Applications/Xcode.app/Contents/Developer/usr/bin/make -f Makefile
>
> /Applications/Xcode.app/Contents/Developer/usr/bin/make -f Makefile.Debug
> all
>
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
> -c -pipe -g -isysroot
> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk
> -mmacosx-version-min=10.7 -fvisibility=hidden -fvisibility-inlines-hidden
> -fno-exceptions -Wall -W -fPIC -DQT_NO_MTDEV -DQT_NO_LIBUDEV -DQT_NO_EVDEV
> -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_PLUGIN
> -DQT_WEBENGINE_LIB -DQT_QUICK_LIB -DQT_QML_LIB -DQT_NETWORK_LIB
> -DQT_GUI_LIB -DQT_CORE_LIB -DQT_WEBENGINE_LIB -DQT_QUICK_LIB -DQT_QML_LIB
> -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB
> -I/Users/greg/Qt/5.3/clang_64/mkspecs/macx-clang -I. -I../../core
> -I../../webengine -I../api
> -I/Users/greg/Qt/5.3/clang_64/lib/QtQuick.framework/Versions/5/Headers
> -I/Users/greg/Qt/5.3/clang_64/lib/QtQml.framework/Versions/5/Headers
> -I/Users/greg/Qt/5.3/clang_64/lib/QtNetwork.framework/Versions/5/Headers
> -I/Users/greg/Qt/5.3/clang_64/lib/QtGui.framework/Versions/5/Headers
> -I/Users/greg/Qt/5.3/clang_64/lib/QtCore.framework/Versions/5/Headers
> -I/Users/greg/Builds/qtwebengine/lib/QtWebEngine.framework/Headers/0.9.0
> -I/Users/greg/Builds/qtwebengine/lib/QtWebEngine.framework/Headers/0.9.0/QtWebEngine
> -I/Users/greg/Qt/5.3/clang_64/lib/QtQuick.framework/Versions/5/Headers/5.3.1
> -I/Users/greg/Qt/5.3/clang_64/lib/QtQuick.framework/Versions/5/Headers/5.3.1/QtQuick
> -I/Users/greg/Qt/5.3/clang_64/lib/QtQml.framework/Versions/5/Headers/5.3.1
> -I/Users/greg/Qt/5.3/clang_64/lib/QtQml.framework/Versions/5/Headers/5.3.1/QtQml
> -I/Users/greg/Qt/5.3/clang_64/lib/QtGui.framework/Versions/5/Headers/5.3.1
> -I/Users/greg/Qt/5.3/clang_64/lib/QtGui.framework/Versions/5/Headers/5.3.1/QtGui
> -I/Users/greg/Qt/5.3/clang_64/lib/QtCore.framework/Versions/5/Headers/5.3.1
> -I/Users/greg/Qt/5.3/clang_64/lib/QtCore.framework/Versions/5/Headers/5.3.1/QtCore
> -I.moc/debug
> -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers
> -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/AGL.framework/Headers
> -F/Users/greg/Builds/qtwebengine/lib -F/Users/greg/Qt/5.3/clang_64/lib -o
> .obj/debug/plugin.o plugin.cpp
>
> *plugin.cpp:44:10: **fatal error: **'qtwebengineversion.h' file not found*
>
> #include "qtwebengineversion.h"
>
> *         ^*
>
> 1 error generated.
>
> make[3]: *** [.obj/debug/plugin.o] Error 1
>
> make[2]: *** [debug-all] Error 2
>
> make[1]: *** [sub-webengine-plugin-make_first] Error 2
>
> make: *** [sub-src-make_first] Error 2
>
> *greg at gregorys-mini*:*~/Builds/qtwebengine* *(master)*$ find . -name
> qtwebengineversion.h
>
> ./include/QtWebEngine/qtwebengineversion.h
>
> ./lib/QtWebEngine.framework/Versions/0/Headers/qtwebengineversion.h
>
>
> On Thu, Jun 26, 2014 at 5:17 AM, Pierre Rossi <pierre.rossi at gmail.com>
> wrote:
>
>> Hi Greg,
>>
>> For OS X (assuming it's mavericks), have you tried an "in-source" build
>> (it'll actually create build subdirectories in src/core for the core
>> library)? Shadow build support is not something we've focused on so far.
>>
>> Not sure what's going on on Fedora, but one thing you could check is
>> whether it's using plain old ld or gold. I strongly recommend the latter as
>> I've ran into the weirdest linker bugs with ld.bfd.
>>
>> Let us know how things go.
>>
>> Cheers,
>> --
>> Pierre
>>
>>
>> On Wed, Jun 25, 2014 at 9:17 PM, Greg Hellings <greg.hellings at gmail.com>
>> wrote:
>>
>>> I've been trying to compile QtWebEngine the past few weeks on both
>>> Fedora Rawhide and OS X. I'm getting different failures in each
>>> environment, compiling against Qt 5.3.1 in both places. In OS X I get the
>>> message
>>>
>>> qtwebengine/src/webengine/api/qquickwebengineview.cpp:661:10: fatal
>>> error: 'moc_qquickwebengineview_p.cpp' file not found
>>>
>>>
>>> This message has persisted for the entirety of the two weeks, so I can
>>> only assume that I must be the only person trying to build on OS X. I
>>> configure that build with a call to
>>>
>>>
>>> ~/Qt/5.3/clang_64/bin/qmake -r CONFIG-=release ../qtwebengine/
>>> qtwebengine.pro
>>>
>>>
>>> In Fedora Rawhide I have to invoke qmake with an explicit STRIP=`which
>>> strip` call. The full call is
>>>
>>> /usr/lib64/qt5/bin/qmake -r CONFIG-=release STRIP=/usr/bin/strip
>>>
>>> The errors I see in this environment are akin to the following:
>>>
>>> /usr/bin/ld: warning: libQt0WebEngineCore.so.0, needed by
>>> /builddir/build/BUILD/qt5-qtwebengine/lib/libQt0WebEngine.so, not found
>>> (try using -rpath or
>>>
>>>  -rpath-link)
>>>
>>> /builddir/build/BUILD/qt5-qtwebengine/lib/libQt0WebEngine.so: undefined
>>> reference to `WebContentsAdapter::stop()'
>>>
>>> /builddir/build/BUILD/qt5-qtwebengine/lib/libQt0WebEngine.so: undefined
>>> reference to `WebContentsAdapter::navigateToIndex(int)'
>>>
>>> /builddir/build/BUILD/qt5-qtwebengine/lib/libQt0WebEngine.so: undefined
>>> reference to `JavaScriptDialogController::dialogCloseRequested()'
>>>
>>> /builddir/build/BUILD/qt5-qtwebengine/lib/libQt0WebEngine.so: undefined
>>> reference to `WebContentsAdapter::getNavigationEntryTitle(int)'
>>>
>>> /builddir/build/BUILD/qt5-qtwebengine/lib/libQt0WebEngine.so: undefined
>>> reference to `WebContentsAdapter::wasHidden()'
>>>
>>> /builddir/build/BUILD/qt5-qtwebengine/lib/libQt0WebEngine.so: undefined
>>> reference to `WebContentsAdapter::WebContentsAdapter(content::WebContents*)'
>>>
>>> /builddir/build/BUILD/qt5-qtwebengine/lib/libQt0WebEngine.so: undefined
>>> reference to `WebEngineError::UserAbortedError'
>>>
>>> /builddir/build/BUILD/qt5-qtwebengine/lib/libQt0WebEngine.so: undefined
>>> reference to `WebContentsAdapter::grantMediaAccessPermission(QUrl const&,
>>> QFlags<WebContentsAdapterClient::MediaRequestFlag>)'
>>>
>>> /builddir/build/BUILD/qt5-qtwebengine/lib/libQt0WebEngine.so: undefined
>>> reference to `WebContentsAdapter::isLoading() const'
>>>
>>> /builddir/build/BUILD/qt5-qtwebengine/lib/libQt0WebEngine.so: undefined
>>> reference to `WebContentsAdapter::initialize(WebContentsAdapterClient*)'
>>>
>>> /builddir/build/BUILD/qt5-qtwebengine/lib/libQt0WebEngine.so: undefined
>>> reference to `WebContentsAdapter::wasShown()'
>>>
>>> /builddir/build/BUILD/qt5-qtwebengine/lib/libQt0WebEngine.so: undefined
>>> reference to `WebContentsAdapter::dpiScaleChanged()'
>>>
>>> /builddir/build/BUILD/qt5-qtwebengine/lib/libQt0WebEngine.so: undefined
>>> reference to `JavaScriptDialogController::defaultPrompt() const'
>>>
>>> /builddir/build/BUILD/qt5-qtwebengine/lib/libQt0WebEngine.so: undefined
>>> reference to `WebContentsAdapter::enableInspector(bool)'
>>>
>>> /builddir/build/BUILD/qt5-qtwebengine/lib/libQt0WebEngine.so: undefined
>>> reference to `WebContentsAdapter::navigateToOffset(int)'
>>>
>>> /builddir/build/BUILD/qt5-qtwebengine/lib/libQt0WebEngine.so: undefined
>>> reference to `WebContentsAdapter::activeUrl() const'
>>>
>>> /builddir/build/BUILD/qt5-qtwebengine/lib/libQt0WebEngine.so: undefined
>>> reference to `WebContentsAdapter::load(QUrl const&)'
>>>
>>> /builddir/build/BUILD/qt5-qtwebengine/lib/libQt0WebEngine.so: undefined
>>> reference to `WebContentsAdapter::canGoBack() const'
>>>
>>> /builddir/build/BUILD/qt5-qtwebengine/lib/libQt0WebEngine.so: undefined
>>> reference to `JavaScriptDialogController::title() const'
>>>
>>> /builddir/build/BUILD/qt5-qtwebengine/lib/libQt0WebEngine.so: undefined
>>> reference to `JavaScriptDialogController::message() const'
>>>
>>> /builddir/build/BUILD/qt5-qtwebengine/lib/libQt0WebEngine.so: undefined
>>> reference to `WebContentsAdapter::canGoForward() const'
>>>
>>> /builddir/build/BUILD/qt5-qtwebengine/lib/libQt0WebEngine.so: undefined
>>> reference to `WebContentsAdapter::reload()'
>>>
>>> /builddir/build/BUILD/qt5-qtwebengine/lib/libQt0WebEngine.so: undefined
>>> reference to `WebContentsAdapter::filesSelectedInChooser(QStringList
>>> const&, WebContentsAdapterClient::FileChooserMode)'
>>>
>>> /builddir/build/BUILD/qt5-qtwebengine/lib/libQt0WebEngine.so: undefined
>>> reference to `WebContentsAdapter::navigationEntryCount()'
>>>
>>> /builddir/build/BUILD/qt5-qtwebengine/lib/libQt0WebEngine.so: undefined
>>> reference to `JavaScriptDialogController::staticMetaObject'
>>>
>>> /builddir/build/BUILD/qt5-qtwebengine/lib/libQt0WebEngine.so: undefined
>>> reference to `WebContentsAdapter::pageTitle() const'
>>>
>>> /builddir/build/BUILD/qt5-qtwebengine/lib/libQt0WebEngine.so: undefined
>>> reference to `WebContentsAdapter::setContent(QByteArray const&, QString
>>> const&, QUrl const&)'
>>>
>>> /builddir/build/BUILD/qt5-qtwebengine/lib/libQt0WebEngine.so: undefined
>>> reference to `WebContentsAdapter::currentNavigationEntryIndex()'
>>>
>>> /builddir/build/BUILD/qt5-qtwebengine/lib/libQt0WebEngine.so: undefined
>>> reference to `WebContentsAdapter::runJavaScript(QString const&)'
>>>
>>> /builddir/build/BUILD/qt5-qtwebengine/lib/libQt0WebEngine.so: undefined
>>> reference to `WebEngineError::toQtErrorDomain(int)'
>>>
>>> /builddir/build/BUILD/qt5-qtwebengine/lib/libQt0WebEngine.so: undefined
>>> reference to `WebContentsAdapter::getNavigationEntryUrl(int)'
>>>
>>> /builddir/build/BUILD/qt5-qtwebengine/lib/libQt0WebEngine.so: undefined
>>> reference to `WebContentsAdapter::~WebContentsAdapter()'
>>>
>>> /builddir/build/BUILD/qt5-qtwebengine/lib/libQt0WebEngine.so: undefined
>>> reference to `WebContentsAdapter::Makefile:100: recipe for target
>>> 'quicknanobrowser' failed
>>>
>>> make[2]: Leaving directory
>>> '/builddir/build/BUILD/qt5-qtwebengine/examples/webengine/quicknanobrowser'
>>>
>>>
>>>
>>> /builddir/build/BUILD/qt5-qtwebengine/lib/libQt0WebEngine.so: undefined
>>> reference to `JavaScriptDialogController::type() const'
>>>
>>>
>>> etc.
>>>
>>>
>>> Are there any hints beyond the ones in the readme file for what I might
>>> be missing or what build process I'm doing wrong? I'd love to get this
>>> building in both environments but thus far I have not been able to do so.
>>>
>>>
>>> --Greg
>>>
>>> _______________________________________________
>>> QtWebEngine mailing list
>>> QtWebEngine at qt-project.org
>>> http://lists.qt-project.org/mailman/listinfo/qtwebengine
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/qtwebengine/attachments/20140626/07e96fab/attachment.html>


More information about the QtWebEngine mailing list