You are not logged in.
Pages: 1
qt-webengine=5.11.0 doesn't build from the Arch PKGBUILD, erroring out with:
In file included from ../../../../qtwebengine-everywhere-src-5.11.0/src/3rdparty/chromium/mojo/edk/embedder/scoped_platform_handle.h:12,
from ../../../../qtwebengine-everywhere-src-5.11.0/src/3rdparty/chromium/mojo/edk/embedder/connection_params.h:10,
from ../../../../qtwebengine-everywhere-src-5.11.0/src/3rdparty/chromium/mojo/edk/embedder/peer_connection.h:9,
from ../../../../qtwebengine-everywhere-src-5.11.0/src/3rdparty/chromium/mojo/edk/embedder/peer_connection.cc:5:
../../../../qtwebengine-everywhere-src-5.11.0/src/3rdparty/chromium/mojo/public/c/system/message_pipe.h:47:42: error: static assertion failed: int64_t has weird alignment
MOJO_STATIC_ASSERT(MOJO_ALIGNOF(int64_t) == 8, "int64_t has weird alignment");
../../../../qtwebengine-everywhere-src-5.11.0/src/3rdparty/chromium/mojo/public/c/system/macros.h:15:53: note: in definition of macro 'MOJO_STATIC_ASSERT'
#define MOJO_STATIC_ASSERT(expr, msg) static_assert(expr, msg)
^~~~
../../../../qtwebengine-everywhere-src-5.11.0/src/3rdparty/chromium/mojo/public/c/system/buffer.h:38:42: error: static assertion failed: int64_t has weird alignment
MOJO_STATIC_ASSERT(MOJO_ALIGNOF(int64_t) == 8, "int64_t has weird alignment");
../../../../qtwebengine-everywhere-src-5.11.0/src/3rdparty/chromium/mojo/public/c/system/macros.h:15:53: note: in definition of macro 'MOJO_STATIC_ASSERT'
#define MOJO_STATIC_ASSERT(expr, msg) static_assert(expr, msg)
^~~~
../../../../qtwebengine-everywhere-src-5.11.0/src/3rdparty/chromium/mojo/public/c/system/data_pipe.h:49:42: error: static assertion failed: int64_t has weird alignment
MOJO_STATIC_ASSERT(MOJO_ALIGNOF(int64_t) == 8, "int64_t has weird alignment");
../../../../qtwebengine-everywhere-src-5.11.0/src/3rdparty/chromium/mojo/public/c/system/macros.h:15:53: note: in definition of macro 'MOJO_STATIC_ASSERT'
#define MOJO_STATIC_ASSERT(expr, msg) static_assert(expr, msg)
^~~~
AFAICT this is only important on non-x86 platforms (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51628#c0).
A workaround is to remove this assert, a very naïve and hacky way being:
prepare() {
...
for patchfile in buffer.h data_pipe.h message_pipe.h; do
sed -i '/MOJO_STATIC_ASSERT(MOJO_ALIGNOF(int64_t) == 8, "int64_t has weird alignment");/d' ${srcdir}/${_pkgfqn}/src/3rdparty/chromium/mojo/public/c/system/$patchfile
done
...
}
Or as a diff:
diff --git a/src/3rdparty/chromium/mojo/public/c/system/buffer.h b/src/3rdparty/chromium/mojo/public/c/system/buffer.h
index 09f6d28..e29a68c 100644
--- a/src/3rdparty/chromium/mojo/public/c/system/buffer.h
+++ b/src/3rdparty/chromium/mojo/public/c/system/buffer.h
@@ -35,7 +35,6 @@ const MojoCreateSharedBufferOptionsFlags
((MojoCreateSharedBufferOptionsFlags)0)
#endif
-MOJO_STATIC_ASSERT(MOJO_ALIGNOF(int64_t) == 8, "int64_t has weird alignment");
struct MOJO_ALIGNAS(8) MojoCreateSharedBufferOptions {
uint32_t struct_size;
MojoCreateSharedBufferOptionsFlags flags;
diff --git a/src/3rdparty/chromium/mojo/public/c/system/data_pipe.h b/src/3rdparty/chromium/mojo/public/c/system/data_pipe.h
index 62adbea..c79f350 100644
--- a/src/3rdparty/chromium/mojo/public/c/system/data_pipe.h
+++ b/src/3rdparty/chromium/mojo/public/c/system/data_pipe.h
@@ -46,7 +46,6 @@ const MojoCreateDataPipeOptionsFlags MOJO_CREATE_DATA_PIPE_OPTIONS_FLAG_NONE =
((MojoCreateDataPipeOptionsFlags)0)
#endif
-MOJO_STATIC_ASSERT(MOJO_ALIGNOF(int64_t) == 8, "int64_t has weird alignment");
struct MOJO_ALIGNAS(8) MojoCreateDataPipeOptions {
MOJO_ALIGNAS(4) uint32_t struct_size;
MOJO_ALIGNAS(4) MojoCreateDataPipeOptionsFlags flags;
diff --git a/src/3rdparty/chromium/mojo/public/c/system/message_pipe.h b/src/3rdparty/chromium/mojo/public/c/system/message_pipe.h
index f0f69d1..096198f 100644
--- a/src/3rdparty/chromium/mojo/public/c/system/message_pipe.h
+++ b/src/3rdparty/chromium/mojo/public/c/system/message_pipe.h
@@ -44,7 +44,6 @@ const MojoCreateMessagePipeOptionsFlags
((MojoCreateMessagePipeOptionsFlags)0)
#endif
-MOJO_STATIC_ASSERT(MOJO_ALIGNOF(int64_t) == 8, "int64_t has weird alignment");
struct MOJO_ALIGNAS(8) MojoCreateMessagePipeOptions {
uint32_t struct_size;
MojoCreateMessagePipeOptionsFlags flags;
Compilation then proceeds.
I'm currently building for manjaro32 and will get it tested; if it works I'll open a PR.
Last edited by jonathon (2018-06-01 23:15:09)
Offline
Pants. Build fails much later on:
/usr/bin/moc -DQT_DEPRECATED_WARNINGS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_PLUGIN -DQT_WEBENGINEWIDGETS_LIB -DQT_WEBENGINECORE_LIB -DQT_DESIGNER_LIB -DQT_UIPLUGIN_LIB -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_XML_LIB -DQT_WEBCHANNEL_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_POSITIONING_LIB -DQT_CORE_LIB -DQDESIGNER_EXPORT_WIDGETS --include .moc/moc_predefs.h -I/usr/lib/qt/mkspecs/linux-g++ -I/build/src/qtwebengine-everywhere-src-5.11.0/src/plugins/qwebengineview -I/build/src/qtwebengine-everywhere-src-5.11.0/include -I/build/src/qtwebengine-everywhere-src-5.11.0/include/QtWebEngineWidgets -I/build/src/build/include -I/build/src/build/include/QtWebEngineWidgets -I/build/src/qtwebengine-everywhere-src-5.11.0/include/QtWebEngineCore -I/build/src/build/include/QtWebEngineCore -I/usr/include/qt -I/usr/include/qt/QtDesigner -I/usr/include/qt/QtUiPlugin -I/usr/include/qt/QtPrintSupport -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtQuick -I/usr/include/qt/QtGui -I/usr/include/qt/QtXml -I/usr/include/qt/QtWebChannel -I/usr/include/qt/QtQml -I/usr/include/qt/QtNetwork -I/usr/include/qt/QtPositioning -I/usr/include/qt/QtCore -I. -I/usr/include/c++/8.1.0 -I/usr/include/c++/8.1.0/i686-pc-linux-gnu -I/usr/include/c++/8.1.0/backward -I/usr/lib/gcc/i686-pc-linux-gnu/8.1.0/include -I/usr/local/include -I/usr/lib/gcc/i686-pc-linux-gnu/8.1.0/include-fixed -I/usr/include /build/src/qtwebengine-everywhere-src-5.11.0/src/plugins/qwebengineview/qwebengineview_plugin.h -o .moc/moc_qwebengineview_plugin.cpp
In file included from /build/src/qtwebengine-everywhere-src-5.11.0/src/plugins/qwebengineview/qwebengineview_plugin.cpp:40:
/build/src/qtwebengine-everywhere-src-5.11.0/src/plugins/qwebengineview/qwebengineview_plugin.h:43:10: fatal error: QtUiPlugin/QDesignerCustomWidgetInterface: No such file or directory
#include <QtUiPlugin/QDesignerCustomWidgetInterface>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[3]: *** [Makefile:513: .obj/qwebengineview_plugin.o] Error 1
make[3]: *** Waiting for unfinished jobs....
/build/src/qtwebengine-everywhere-src-5.11.0/src/plugins/qwebengineview/qwebengineview_plugin.h:85: Error: Undefined interface
$ ls -l /usr/include/qt/QtUiPlugin/
total 14
-rw-r--r-- 1 root root 243 May 28 08:33 QtUiPluginDepends
-rw-r--r-- 1 root root 2931 May 16 08:53 customwidget.h
-rw-r--r-- 1 root root 1675 May 16 08:53 qdesignerexportwidget.h
Hmm. I can see "-I/usr/include/qt/QtUiPlugin" in the command line so I don't understand this...
---
OK, so I rebuilt and reinstalled qt5-tools and now the qt5-webengine build succeeds. I don't get it, but whatever. https://bugreports.qt.io/browse/QTBUG-5 … ent-348387
Last edited by jonathon (2018-06-02 13:12:07)
Offline
I just digged into this problem and there seems to be some information in:
https://bugzilla.redhat.com/show_bug.cgi?id=1563446
https://src.fedoraproject.org/cgit/rpms … gnof.patch
Because the code seems to stem from the chromium project.
I'll try myself and see what happens.. :-)
Offline
Pages: 1