Bug 76832 - [Qt] Build fix when using force_static_libs_as_shared
Summary: [Qt] Build fix when using force_static_libs_as_shared
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit Qt (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-01-23 08:20 PST by Yael
Modified: 2012-02-24 00:19 PST (History)
4 users (show)

See Also:


Attachments
Patch. (2.41 KB, patch)
2012-01-23 08:23 PST, Yael
hausmann: review-
hausmann: commit-queue-
Details | Formatted Diff | Diff
Patch. (2.14 KB, patch)
2012-01-24 10:56 PST, Yael
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Yael 2012-01-23 08:20:49 PST
When building a debug build on Linux with 32 bit machines, we must use force_static_libs_as_shared or we cannot link.
When WebKit2 and WebCore are built as a shared library, we must add QT+=widgets for them to link.
Comment 1 Yael 2012-01-23 08:23:26 PST
Created attachment 123560 [details]
Patch.
Comment 2 Simon Hausmann 2012-01-24 03:06:10 PST
Comment on attachment 123560 [details]
Patch.

I think the dependency is correct, but I don't think that it should be guarded with force_static_libs_as_shared. It is a _real_ dependency and it should IMHO be expressed as such, i.e. without the force_static_libs_as_shared scope.
Comment 3 Yael 2012-01-24 10:56:25 PST
Created attachment 123770 [details]
Patch.

Removed the flag, as suggested by Simon.
Comment 4 WebKit Review Bot 2012-01-25 09:10:08 PST
Comment on attachment 123770 [details]
Patch.

Clearing flags on attachment: 123770

Committed r105881: <http://trac.webkit.org/changeset/105881>
Comment 5 WebKit Review Bot 2012-01-25 09:10:13 PST
All reviewed patches have been landed.  Closing bug.
Comment 6 Yael 2012-02-21 19:43:50 PST
This got broken again by r108328
Comment 7 Andras Becsi 2012-02-22 03:20:21 PST
The build with --qmakearg="CONFIG+=force_static_libs_as_shared" works for me.
What build options do you use?

You need a clean build after this change, since the build system has some problems with changing module dependency settings in project files.
Comment 8 Andras Becsi 2012-02-22 05:00:01 PST
(In reply to comment #6)
> This got broken again by r108328

Looks like the option actually broke because of r108359.
The inclusion order resulted in some defines being undeffed by the new header.

The fixed patch was landed in http://trac.webkit.org/changeset/108483.
Comment 9 Yael 2012-02-22 05:17:01 PST
(In reply to comment #8)

> The fixed patch was landed in http://trac.webkit.org/changeset/108483.
Thanks for fixing it :)
Comment 10 Yael 2012-02-23 17:33:21 PST
(In reply to comment #8)
> (In reply to comment #6)
> > This got broken again by r108328
> 
> Looks like the option actually broke because of r108359.
> The inclusion order resulted in some defines being undeffed by the new header.
> 
> The fixed patch was landed in http://trac.webkit.org/changeset/108483.

This is still broken. WebKit2 is still using QWidgets such as QFileDialog etc.
When building with force_static_libs_as_shared, WebKit2 is a self contained dll and it needs to have QT+=widgets.

This problem has nothing to do with  http://trac.webkit.org/changeset/108483 , and is indeed regression from 108328, which removed QT+=widgets .

Clean build with default flags, not specifying any flags on the command line is currently failing. (with latest Qt5).
Comment 11 Simon Hausmann 2012-02-24 00:19:33 PST
(In reply to comment #10)
> (In reply to comment #8)
> > (In reply to comment #6)
> > > This got broken again by r108328
> > 
> > Looks like the option actually broke because of r108359.
> > The inclusion order resulted in some defines being undeffed by the new header.
> > 
> > The fixed patch was landed in http://trac.webkit.org/changeset/108483.
> 
> This is still broken. WebKit2 is still using QWidgets such as QFileDialog etc.
> When building with force_static_libs_as_shared, WebKit2 is a self contained dll and it needs to have QT+=widgets.
> 
> This problem has nothing to do with  http://trac.webkit.org/changeset/108483 , and is indeed regression from 108328, which removed QT+=widgets .
> 
> Clean build with default flags, not specifying any flags on the command line is currently failing. (with latest Qt5).

Yael, you're right. I've filed bug #79458 for this.