Created attachment 50886 [details] symbols There is a problem with compilation of the WebKit (trunk) against the Qt 4.7 (trunk). The problem was found on Linux (i386 Debian/testing) with gcc 4.4.3. After a successful compilation of the Qt (./configure --static with and without --no-webkit option), building WebKit in release mode (./build-webkit --qt --release) is not possible, because of bunch of unresolved symbols (see attachment "symbols"). Compilation in debug mode can be finished without errors, but produced binary is invalid. The QtLauncher crashes immediately after startup.
Created attachment 50887 [details] gdb output I tried to debug the QtLauncher crash, but it doesn't make sense... It seems that build is broken.
Created attachment 50890 [details] Hack to make the symbols be exported qwebkitglobal.h is using the Qt defines (QT_MAKEDLL, QT_SHARED) to determine how QWEBKIT_EXPORT should be defined. This seems wrong when Qt is built statically, since QtWebKit is still built as a shared library (is there a way to build it statically too?). The attached hack forces the symbols to be exported when building against a static Qt. This makes QtLauncher and friends link, but there is a second issue: QtLauncher crashes. When QCoreApplication::instance() is called from main.cpp, it returns a valid pointer, but when the same function is called from within libQtWebKit, it returns 0.
For the record, I don't know if building with a static Qt has ever worked / is supposed to work.
With Qt 4.7 we are unfortunately not going to support static linking of QtWebKit anymore.