After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 713168 - can't build with WebKitGTK 2.1.1
can't build with WebKitGTK 2.1.1
Status: RESOLVED FIXED
Product: geary
Classification: Other
Component: build
0.4.1
Other All
: High normal
: ---
Assigned To: Jim Nelson
Geary Maintainers
Depends on:
Blocks:
 
 
Reported: 2013-05-31 11:59 UTC by Adam Dingle
Modified: 2013-10-28 11:19 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
webkit_fix.diff (2.22 KB, patch)
2013-06-28 02:00 UTC, Eric Gregory
none Details | Review

Description Charles Lindsay 2013-11-21 20:18:59 UTC


---- Reported by adam@yorba.org 2013-05-31 16:59:00 -0700 ----

Original Redmine bug id: 7023
Original URL: http://redmine.yorba.org/issues/7023
Searchable id: yorba-bug-7023
Original author: Adam Dingle
Original description:

I have WebKitGTK 2.1.1 (a recent release). Geary won't build with this version
of WebKit:

    
    
    /home/adam/src/geary/src/client/util/util-webkit.vala:54.13-54.66: error: 1 extra arguments for `bool WebKit.DOM.EventTarget.add_event_listener (string event_name, GLib.Callback handler, bool bubble)'
                node.add_event_listener(event, callback, false, extra);
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    /home/adam/src/geary/src/client/composer/webview-edit-fixer.vala:291.14-291.32: error: The name `has_attributes' does not exist in the context of `WebKit.DOM.Node'
            if (!node.has_attributes())
                 ^^^^^^^^^^^^^^^^^^^
    /home/adam/src/geary/src/client/composer/webview-edit-fixer.vala:294.46-294.64: error: The name `get_attributes' does not exist in the context of `WebKit.DOM.Node'
            WebKit.DOM.NamedNodeMap attributes = node.get_attributes();
                                                 ^^^^^^^^^^^^^^^^^^^
    Compilation failed: 3 error(s), 0 warning(s)

Related issues:
related to geary - 6824: crash on startup when running with WebKit debug
build (Open)
related to geary - 7694: can't build with WebKitGTK 2.2.2 (Fixed)
related to geary - 7541: Can't build geary 0.4.0pr2 with vala 0.22 and
webkit 2.1.91 (Fixed)
duplicated by geary - 7348: Error in build Geary with webkitgtk+ 2.1.4 (Duplicate)



---- Additional Comments From geary-maint@gnome.bugs 2013-10-28 16:19:00 -0700 ----

### History

####

#1

Updated by Jim Nelson 6 months ago

  * **Category** set to _build_
  * **Target version** set to _0.4.0_

####

#2

Updated by Adam Dingle 5 months ago

Jim, do you think you guys could look at this in the next week or two?
Epiphany in git master requires WebKitGTK 2.1.1, and I'd like to run that
version of Epiphany since I expect Garrett will be fixing bugs in it.

####

#3

Updated by Jim Nelson 5 months ago

We'll try.

####

#4

Updated by Jim Nelson 5 months ago

  * **Assignee** set to _Jim Nelson_

With WebKitGTK 2.1.2, only the second two compile errors occur. If I comment
them out, Geary compiles and runs fine.

####

#5

Updated by Eric Gregory 5 months ago

I'm seeing all three errors with WebKitGTK 2.1.2.

From combing through the GIR file:

  * has_attributes() and get_attributes() have moved from DOM.Node to DOM.Element.
  * add_event_listener()'s last parameter changed names from userData to user_data, which must be causing Vala to ignore the last parameter.

####

#6

Updated by Jim Nelson 5 months ago

  * **Assignee** changed from _Jim Nelson_ to _Eric Gregory_

####

#7

Updated by Eric Gregory 5 months ago

  * **File** webkit_fix.diff added
  * **Assignee** deleted (<strike>_Eric Gregory_</strike>)

Adam, this patch will have to hold you over for the time being. It's not
entirely clear how we'll handle this once WebKitGTK 2.x starts landing in the
repos but this patch is a stab in that direction.

I suspect we'll have to figure out how to have more than one metadata file for
different versions of WebKitGTK that we want to support.

####

#8

Updated by Adam Dingle 5 months ago

Fantastic - thanks, Eric! This is enough for me for now. Perhaps at some point
we'll have to have a configure option --with-webkit-2.1, or something like
that.

####

#9

Updated by Jim Nelson about 1 month ago

  * **Target version** changed from _0.4.0_ to _0.5.0_

####

#10

Updated by Yosef Or Boczko about 1 month ago

Are you serious?

Many of distributions use the 2.x cycle of WebKitGTK+

already a long time, and the cycle 1.x already not support more.

I think is more important to support 2.x cycle instead 1.x.

I use in the patch above, and Geary work excellent.

Now I need also to revert 5c1021d9da98fc482eb697b5fa5b6793f9c00a77.

Of course, is better to support also 1.x and also 2.x, with #ifdef etc.

####

#11

Updated by Jim Nelson about 1 month ago

Yosef Or Boczko wrote:

> Are you serious?

Many of distributions use the 2.x cycle of WebKitGTK+

already a long time, and the cycle 1.x already not support more.

Ubuntu doesn't offer 2.x, and it won't be in the upcoming Saucy either. Geary
is on a six-month cycle, like GNOME and Ubuntu, and when we started version
WebKitGTK 2 had just been released.

> I think is more important to support 2.x cycle instead 1.x.

If it was a simple version change, I wouldn't disagree with you. However, it
appears that version 2 is a significant alteration of the code base, judging
both by the bugs we've seen when building against that version and by the
changes in the API. I'm uncomfortable shifting versions of WebKit without
serious testing and dogfooding first. It's probably the most important runtime
library for Geary to depend on. I would much rather do that at the beginning
of a development cycle than near the end.

> Of course, is better to support also 1.x and also 2.x, with #ifdef etc.

Conditional compilation always sounds attractive, but it tends to yield
spaghetti code, bit rot, untested code paths, and worse. On top of that, if
our CSS has any problems, we then have to work out a conditional method to
include various bits of CSS depending on the version, one more unattractive
option.

What's more, WebKitGTK doesn't appear to offer anything we don't have today.
We have a couple of minor bugs with the spellchecker and text find, but I'm
not even sure they've been solved in version 2.

In any large-scale project, there's support libraries and tools you want (or
need) to be bleeding edge and libraries/tools you want to be rock-solid. With
the way Geary depends on WebKit, I feel it falls in the latter category.

####

#12

Updated by Adam Dingle about 1 month ago

Is it a goal for Geary 0.4 to be able to run on Fedora 20, which will appear
this December? If so, will this WebKit version limitation get in the way of
that?

####

#13

Updated by Jim Nelson about 1 month ago

  * **Assignee** set to _Jim Nelson_

I've emailed Thomas Machony over the weekend about this. It's worth noting
that Geary 0.3.1 is currently in F20 thanks to this patch and Fedora
cherrypicking the commit from #6787. I suspect Geary 0.4 could ship in F20
with them adding only this patch.

Thomas also pointed out that Geary 0.3.1 built in F19 against webkitgtk3 2.0
without patching, so it appears our problems started during the development of
2.1.

We haven't had a chance to really test webkitgtk3 2.2 against Geary and see if
there's any other problems lurking. What's more, if we commit to webkitgtk3
2.2, then we've simply pushed the problem onto Ubuntu for them to patch, which
they may or may not do. With Ubuntu behind the GNOME curve by a cycle, that
means Saucy++ will have webkitgtk3 2.0, which also won't compile against this
patch.

Let me do a little investigation in the next day or so and see what we can do
here.

####

#14

Updated by Adam Dingle about 1 month ago

Jim Nelson wrote:

> I've emailed Thomas Machony over the weekend about this. It's worth noting
that Geary 0.3.1 is currently in F20 thanks to this patch and Fedora
cherrypicking the commit from #6787. I suspect Geary 0.4 could ship in F20
with them adding only this patch.

Yes, that seems plausible.

> Thomas also pointed out that Geary 0.3.1 built in F19 against webkitgtk3 2.0
without patching, so it appears our problems started during the development of
2.1.

Yes, as evidenced by the fact that this bug was first filed against WebKit
2.1.1. :)

> We haven't had a chance to really test webkitgtk3 2.2 against Geary and see
if there's any other problems lurking.

For what it's worth, I've been running Geary for months with WebKit 2.1.x (and
now 2.2) via this patch attached to this ticket. All problems I've seen have
been reported to you. :)

> What's more, if we commit to webkitgtk3 2.2, then we've simply pushed the
problem onto Ubuntu for them to patch, which they may or may not do. With
Ubuntu behind the GNOME curve by a cycle, that means Saucy++ will have
webkitgtk3 2.0, which also won't compile against this patch.

>

> Let me do a little investigation in the next day or so and see what we can
do here.

That sounds good. If the conditional compilation route isn't too painful it
would certainly seem like a nice solution.

####

#15

Updated by Jim Nelson about 1 month ago

Adam Dingle wrote:

> > Thomas also pointed out that Geary 0.3.1 built in F19 against webkitgtk3
2.0 without patching, so it appears our problems started during the
development of 2.1.

>

> Yes, as evidenced by the fact that this bug was first filed against WebKit
2.1.1. :)

That only means that's when it was first reported to us -- it doesn't mean
that's when the problem was introduced.

> That sounds good. If the conditional compilation route isn't too painful it
would certainly seem like a nice solution.

Because Ubuntu is not one but two releases behind webkitgtk (Saucy will ship
with 1.10.2), this means we'll have to keep the conditionally-compiled code in
for a year in order to compile on Ubuntu, assuming we're not bit by other ABI
breaks in the meantime.

####

#16

Updated by Adam Dingle about 1 month ago

Jim Nelson wrote:

> Adam Dingle wrote:

>

>> > Thomas also pointed out that Geary 0.3.1 built in F19 against webkitgtk3
2.0 without patching, so it appears our problems started during the
development of 2.1.

>>

>> Yes, as evidenced by the fact that this bug was first filed against WebKit
2.1.1. :)

>

> That only means that's when it was first reported to us -- it doesn't mean
that's when the problem was introduced.

Well, I've been running with the latest releases of WebKit all year and I
first noticed this in WebKit 2.1.1, so I'm pretty sure the incompatibility was
introduced not long before that.

> > That sounds good. If the conditional compilation route isn't too painful
it would certainly seem like a nice solution.

>

> Because Ubuntu is not one but two releases behind webkitgtk (Saucy will ship
with 1.10.2), this means we'll have to keep the conditionally-compiled code in
for a year in order to compile on Ubuntu, assuming we're not bit by other ABI
breaks in the meantime.

I'm aware as anyone else how painful it is for application developers that
Ubuntu lags so far behind GNOME. Still, it's not clear to me that we have much
choice here. If we don't conditionally compile, then for a year or more a
distribution on one side or the other (i.e. Ubuntu or Fedora) will have to
apply a patch in order to build the latest Geary. That's really pretty
awkward: I'd really like users on both sides to be able to build Geary from
source without having to jump through hoops.

####

#17

Updated by Jim Nelson about 1 month ago

Adam Dingle wrote:

> I'm aware as anyone else how painful it is for application developers that
Ubuntu lags so far behind GNOME. Still, it's not clear to me that we have much
choice here. If we don't conditionally compile, then for a year or more a
distribution on one side or the other (i.e. Ubuntu or Fedora) will have to
apply a patch in order to build the latest Geary. That's really pretty
awkward: I'd really like users on both sides to be able to build Geary from
source without having to jump through hoops.

I'm not sure this really is a problem for all application developers in the
GNOME ecosystem, nor that we do not have a choice here. I think most
developers simply code against a selection of libraries and release their
tarballs, letting the distros decide whether or not to include them in their
repos. I know that most of the GNOME software I use out of Raring's repos are
at least one stable release behind development, probably for that reason.

What's being asked here, in sum, is that Yorba release a tarball that will
compile with little to no effort by the user for Raring, Saucy, F19, and F20,
which spans libraries released between September 2012 and today, and
potentially to December 2013. I don't know of another project like Geary that
goes to such lengths.

####

#18

Updated by Adam Dingle about 1 month ago

Jim Nelson wrote:

> Adam Dingle wrote:

>

>> I'm aware as anyone else how painful it is for application developers that
Ubuntu lags so far behind GNOME. Still, it's not clear to me that we have much
choice here. If we don't conditionally compile, then for a year or more a
distribution on one side or the other (i.e. Ubuntu or Fedora) will have to
apply a patch in order to build the latest Geary. That's really pretty
awkward: I'd really like users on both sides to be able to build Geary from
source without having to jump through hoops.

>

> I'm not sure this really is a problem for all application developers in the
GNOME ecosystem, nor that we do not have a choice here. I think most
developers simply code against a selection of libraries and release their
tarballs, letting the distros decide whether or not to include them in their
repos. I know that most of the GNOME software I use out of Raring's repos are
at least one stable release behind development, probably for that reason.

>

> What's being asked here, in sum, is that Yorba release a tarball that will
compile with little to no effort by the user for Raring, Saucy, F19, and F20,
which spans libraries released between September 2012 and today, and
potentially to December 2013. I don't know of another project like Geary that
goes to such lengths.

Well, it's true that pretty much no other major GNOME program does that, as
far as I know. I believe that Epiphany used to have a --with-webkit configure
option to select between WebKit 1 and 2, but if it did that's gone now (I just
checked). So yes, you're right that programs in general seem to choose either
to build with the latest GNOME world (e.g. Epiphany, Nautilus) or to stay
compatible with older library versions. Some are much more conservative than
us in that respect - Meld, for example, hasn't yet upgraded to GTK 3.

Oh well. If our build tools made it super easy to enable conditional
configuration between library versions, I still think it might be worth it. My
guess is that our current build setup (CMake) does not, however. In any case,
if we can still build out of the box on the latest Ubuntu and with a small
patch on the latest Fedora, that's probably fine at this stage.

####

#19

Updated by Jim Nelson about 1 month ago

  * **Target version** changed from _0.5.0_ to _0.4.0_

As it turns out, this is all a tempest in a teapot.

In webkitgtk3's second pre-release tarball (2.1.90.1) their [release
announcement
states](http://webkitgtk.org/2013/08/29/webkitgtk2.1.90.1-released.html)
"Added DOM bindings symbols that got removed from the IDL back for ABI
compatibility". These binding symbols are the ones we need to build cleanly
without the above patch.

I've verified that Geary builds find against this pre-release tarball and the
2.2.0 stable release. I'm going to update the build requirements to disallow
the 2.1.x series, but otherwise we should build from 1.10.0 onward.

####

#20

Updated by Jim Nelson about 1 month ago

  * **Status** changed from _Open_ to _Fixed_

Applied in changeset ec032d5b2fd258005d4d01e4edd7f3ab9e4aaacf.

####

#21

Updated by Jim Nelson about 1 month ago

Unfortunately, CMake doesn't allow us to exclude WebKitGTK 2.1.1 to 2.1.90.0,
which are the versions that don't have the symbols we need to build cleanly.
We'll have to assume that anyone building with an installed WebKitGTK package
is using a stable release.

####

#22

Updated by Adam Dingle about 1 month ago

Jim Nelson wrote:

> As it turns out, this is all a tempest in a teapot.

>

> In webkitgtk3's second pre-release tarball (2.1.90.1) their [release
announcement
states](http://webkitgtk.org/2013/08/29/webkitgtk2.1.90.1-released.html)
"Added DOM bindings symbols that got removed from the IDL back for ABI
compatibility". These binding symbols are the ones we need to build cleanly
without the above patch.

>

> I've verified that Geary builds find against this pre-release tarball and
the 2.2.0 stable release. I'm going to update the build requirements to
disallow the 2.1.x series, but otherwise we should build from 1.10.0 onward.

A miracle from above! :) This is fantastic news.

####

#23

Updated by Adam Dingle about 1 month ago

Jim Nelson wrote:

> Unfortunately, CMake doesn't allow us to exclude WebKitGTK 2.1.1 to
2.1.90.0, which are the versions that don't have the symbols we need to build
cleanly. We'll have to assume that anyone building with an installed WebKitGTK
package is using a stable release.

Not 100% ideal, but we can certainly live with this.

####

#24

Updated by Yosef Or Boczko about 1 month ago

For me isn't work:

$ pkg-config --modversion webkit2gtk-3.0

2.2.0

yosefor@yoseforb /pkg/geary-git/src/geary $ LANG=C make -j1

make1: Entering directory `/pkg/geary-git/src/geary/build'

make2: Entering directory `/pkg/geary-git/src/geary/build'

make3: Entering directory `/pkg/geary-git/src/geary/build'

make3: Leaving directory `/pkg/geary-git/src/geary/build'

make3: Entering directory `/pkg/geary-git/src/geary/build'

Merging translations into geary.desktop.

make3: Leaving directory `/pkg/geary-git/src/geary/build'

[ 0%] Built target geary.desktop

make3: Entering directory `/pkg/geary-git/src/geary/build'

make3: Leaving directory `/pkg/geary-git/src/geary/build'

make3: Entering directory `/pkg/geary-git/src/geary/build'

[ 0%] Creating translations.

make3: Leaving directory `/pkg/geary-git/src/geary/build'

[ 10%] Built target translations

make3: Entering directory `/pkg/geary-git/src/geary/build'

make3: Leaving directory `/pkg/geary-git/src/geary/build'

[ 15%] Built target sqlite3-unicodesn

make3: Entering directory `/pkg/geary-git/src/geary/build'

[ 16%] Generating engine/abstract/geary-abstract-account.c, engine/abstract
/geary-abstract-folder.c, engine/abstract/geary-abstract-local-folder.c,
engine/api/geary-account.c, engine/api/geary-account-information.c, engine/api
/geary-aggregated-folder-properties.c, engine/api/geary-attachment.c,
engine/api/geary-base-object.c, engine/api/geary-composed-email.c, engine/api
/geary-contact.c, engine/api/geary-contact-flags.c, engine/api/geary-contact-
importance.c, engine/api/geary-contact-store.c, engine/api/geary-
credentials.c, engine/api/geary-credentials-mediator.c, engine/api/geary-
email-flags.c, engine/api/geary-email-identifier.c, engine/api/geary-email-
properties.c, engine/api/geary-email.c, engine/api/geary-endpoint.c,
engine/api/geary-engine-error.c, engine/api/geary-engine.c, engine/api/geary-
folder.c, engine/api/geary-folder-path.c, engine/api/geary-folder-
properties.c, engine/api/geary-folder-supports-archive.c, engine/api/geary-
folder-supports-copy.c, engine/api/geary-folder-supports-create.c, engine/api
/geary-folder-supports-mark.c, engine/api/geary-folder-supports-move.c,
engine/api/geary-folder-supports-remove.c, engine/api/geary-logging.c,
engine/api/geary-named-flag.c, engine/api/geary-named-flags.c, engine/api
/geary-progress-monitor.c, engine/api/geary-search-folder.c, engine/api/geary-
service-provider.c, engine/api/geary-special-folder-type.c, engine/app/app-
conversation.c, engine/app/app-conversation-monitor.c, engine/app/app-email-
store.c, engine/app/conversation-monitor/app-append-operation.c, engine/app
/conversation-monitor/app-conversation-operation-queue.c, engine/app
/conversation-monitor/app-conversation-operation.c, engine/app/conversation-
monitor/app-conversation-set.c, engine/app/conversation-monitor/app-external-
append-operation.c, engine/app/conversation-monitor/app-fill-window-
operation.c, engine/app/conversation-monitor/app-local-load-operation.c,
engine/app/conversation-monitor/app-local-search-operation.c, engine/app
/conversation-monitor/app-remove-operation.c, engine/app/conversation-monitor
/app-reseed-operation.c, engine/app/conversation-monitor/app-terminate-
operation.c, engine/app/email-store/app-async-folder-operation.c, engine/app
/email-store/app-copy-operation.c, engine/app/email-store/app-fetch-
operation.c, engine/app/email-store/app-list-operation.c, engine/app/email-
store/app-mark-operation.c, engine/common/common-message-data.c,
engine/db/db.c, engine/db/db-connection.c, engine/db/db-context.c, engine/db
/db-database.c, engine/db/db-database-error.c, engine/db/db-result.c,
engine/db/db-statement.c, engine/db/db-synchronous-mode.c, engine/db/db-
transaction-async-job.c, engine/db/db-transaction-outcome.c, engine/db/db-
transaction-type.c, engine/db/db-versioned-database.c, engine/imap/imap.c,
engine/imap/imap-error.c, engine/imap/api/imap-account.c, engine/imap/api
/imap-email-flags.c, engine/imap/api/imap-email-properties.c, engine/imap/api
/imap-folder-properties.c, engine/imap/api/imap-folder.c, engine/imap/api
/imap-folder-root.c, engine/imap/command/imap-append-command.c,
engine/imap/command/imap-capability-command.c, engine/imap/command/imap-close-
command.c, engine/imap/command/imap-command.c, engine/imap/command/imap-
compress-command.c, engine/imap/command/imap-copy-command.c,
engine/imap/command/imap-examine-command.c, engine/imap/command/imap-expunge-
command.c, engine/imap/command/imap-fetch-command.c, engine/imap/command/imap-
id-command.c, engine/imap/command/imap-idle-command.c, engine/imap/command
/imap-list-command.c, engine/imap/command/imap-login-command.c,
engine/imap/command/imap-logout-command.c, engine/imap/command/imap-message-
set.c, engine/imap/command/imap-noop-command.c, engine/imap/command/imap-
search-command.c, engine/imap/command/imap-search-criteria.c,
engine/imap/command/imap-search-criterion.c, engine/imap/command/imap-select-
command.c, engine/imap/command/imap-starttls-command.c, engine/imap/command
/imap-status-command.c, engine/imap/command/imap-store-command.c,
engine/imap/message/imap-data-format.c, engine/imap/message/imap-envelope.c,
engine/imap/message/imap-fetch-body-data-specifier.c, engine/imap/message
/imap-fetch-data-specifier.c, engine/imap/message/imap-flag.c,
engine/imap/message/imap-flags.c, engine/imap/message/imap-internal-date.c,
engine/imap/message/imap-mailbox-specifier.c, engine/imap/message/imap-
mailbox-parameter.c, engine/imap/message/imap-message-data.c,
engine/imap/message/imap-message-flag.c, engine/imap/message/imap-message-
flags.c, engine/imap/message/imap-sequence-number.c, engine/imap/message/imap-
status-data-type.c, engine/imap/message/imap-tag.c, engine/imap/message/imap-
uid.c, engine/imap/message/imap-uid-validity.c, engine/imap/parameter/imap-
atom-parameter.c, engine/imap/parameter/imap-list-parameter.c,
engine/imap/parameter/imap-literal-parameter.c, engine/imap/parameter/imap-
nil-parameter.c, engine/imap/parameter/imap-number-parameter.c,
engine/imap/parameter/imap-parameter.c, engine/imap/parameter/imap-quoted-
string-parameter.c, engine/imap/parameter/imap-root-parameters.c,
engine/imap/parameter/imap-string-parameter.c, engine/imap/parameter/imap-
unquoted-string-parameter.c, engine/imap/response/imap-capabilities.c,
engine/imap/response/imap-continuation-response.c, engine/imap/response/imap-
fetch-data-decoder.c, engine/imap/response/imap-fetched-data.c,
engine/imap/response/imap-mailbox-attribute.c, engine/imap/response/imap-
mailbox-attributes.c, engine/imap/response/imap-mailbox-information.c,
engine/imap/response/imap-response-code.c, engine/imap/response/imap-response-
code-type.c, engine/imap/response/imap-server-data.c, engine/imap/response
/imap-server-data-type.c, engine/imap/response/imap-server-response.c,
engine/imap/response/imap-status.c, engine/imap/response/imap-status-data.c,
engine/imap/response/imap-status-response.c, engine/imap/transport/imap-
client-connection.c, engine/imap/transport/imap-client-session-manager.c,
engine/imap/transport/imap-client-session.c, engine/imap/transport/imap-
deserializer.c, engine/imap/transport/imap-serializer.c, engine/imap-db/imap-
db-account.c, engine/imap-db/imap-db-attachment.c, engine/imap-db/imap-db-
contact.c, engine/imap-db/imap-db-database.c, engine/imap-db/imap-db-email-
identifier.c, engine/imap-db/imap-db-folder.c, engine/imap-db/imap-db-message-
addresses.c, engine/imap-db/imap-db-message-row.c, engine/imap-db/imap-db-
search-email-identifier.c, engine/imap-db/outbox/smtp-outbox-email-
identifier.c, engine/imap-db/outbox/smtp-outbox-email-properties.c, engine
/imap-db/outbox/smtp-outbox-folder.c, engine/imap-db/outbox/smtp-outbox-
folder-properties.c, engine/imap-db/outbox/smtp-outbox-folder-root.c, engine
/imap-engine/imap-engine.c, engine/imap-engine/imap-engine-account-
synchronizer.c, engine/imap-engine/imap-engine-batch-operations.c, engine
/imap-engine/imap-engine-contact-store.c, engine/imap-engine/imap-engine-
email-flag-watcher.c, engine/imap-engine/imap-engine-email-prefetcher.c,
engine/imap-engine/imap-engine-generic-account.c, engine/imap-engine/imap-
engine-generic-all-mail-folder.c, engine/imap-engine/imap-engine-generic-
drafts-folder.c, engine/imap-engine/imap-engine-generic-folder.c, engine/imap-
engine/imap-engine-generic-sent-mail-folder.c, engine/imap-engine/imap-engine-
generic-trash-folder.c, engine/imap-engine/imap-engine-receive-replay-
operation.c, engine/imap-engine/imap-engine-replay-operation.c, engine/imap-
engine/imap-engine-replay-queue.c, engine/imap-engine/imap-engine-send-replay-
operation.c, engine/imap-engine/gmail/imap-engine-gmail-account.c, engine
/imap-engine/gmail/imap-engine-gmail-folder.c, engine/imap-engine/gmail/imap-
engine-gmail-search-folder.c, engine/imap-engine/other/imap-engine-other-
account.c, engine/imap-engine/other/imap-engine-other-folder.c, engine/imap-
engine/outlook/imap-engine-outlook-account.c, engine/imap-engine/outlook/imap-
engine-outlook-folder.c, engine/imap-engine/replay-ops/imap-engine-abstract-
list-email.c, engine/imap-engine/replay-ops/imap-engine-copy-email.c, engine
/imap-engine/replay-ops/imap-engine-create-email.c, engine/imap-engine/replay-
ops/imap-engine-fetch-email.c, engine/imap-engine/replay-ops/imap-engine-list-
email-by-id.c, engine/imap-engine/replay-ops/imap-engine-list-email-by-sparse-
id.c, engine/imap-engine/replay-ops/imap-engine-mark-email.c, engine/imap-
engine/replay-ops/imap-engine-move-email.c, engine/imap-engine/replay-ops
/imap-engine-remove-email.c, engine/imap-engine/replay-ops/imap-engine-replay-
append.c, engine/imap-engine/replay-ops/imap-engine-replay-disconnect.c,
engine/imap-engine/replay-ops/imap-engine-replay-removal.c, engine/imap-engine
/replay-ops/imap-engine-server-search-email.c, engine/imap-engine/yahoo/imap-
engine-yahoo-account.c, engine/imap-engine/yahoo/imap-engine-yahoo-folder.c,
engine/memory/memory-buffer.c, engine/memory/memory-byte-buffer.c,
engine/memory/memory-empty-buffer.c, engine/memory/memory-file-buffer.c,
engine/memory/memory-growable-buffer.c, engine/memory/memory-string-buffer.c,
engine/memory/memory-unowned-byte-array-buffer.c, engine/memory/memory-
unowned-bytes-buffer.c, engine/memory/memory-unowned-string-buffer.c,
engine/nonblocking/nonblocking-abstract-semaphore.c, engine/nonblocking
/nonblocking-batch.c, engine/nonblocking/nonblocking-concurrent.c,
engine/nonblocking/nonblocking-counting-semaphore.c, engine/nonblocking
/nonblocking-error.c, engine/nonblocking/nonblocking-mailbox.c,
engine/nonblocking/nonblocking-mutex.c, engine/nonblocking/nonblocking-
reporting-semaphore.c, engine/nonblocking/nonblocking-variants.c,
engine/rfc822/rfc822.c, engine/rfc822/rfc822-error.c, engine/rfc822/rfc822
-gmime-filter-flowed.c, engine/rfc822/rfc822-gmime-filter-blockquotes.c,
engine/rfc822/rfc822-gmime-filter-plain.c, engine/rfc822/rfc822-mailbox-
addresses.c, engine/rfc822/rfc822-mailbox-address.c,
engine/rfc822/rfc822-message.c, engine/rfc822/rfc822-message-data.c,
engine/rfc822/rfc822-utils.c, engine/smtp/smtp-abstract-authenticator.c,
engine/smtp/smtp-authenticator.c, engine/smtp/smtp-capabilities.c, engine/smtp
/smtp-client-connection.c, engine/smtp/smtp-client-session.c, engine/smtp
/smtp-command.c, engine/smtp/smtp-data-format.c, engine/smtp/smtp-error.c,
engine/smtp/smtp-greeting.c, engine/smtp/smtp-login-authenticator.c,
engine/smtp/smtp-plain-authenticator.c, engine/smtp/smtp-request.c,
engine/smtp/smtp-response.c, engine/smtp/smtp-response-code.c, engine/smtp
/smtp-response-line.c, engine/state/state-machine-descriptor.c, engine/state
/state-machine.c, engine/state/state-mapping.c, engine/util/util-collection.c,
engine/util/util-converter.c, engine/util/util-files.c, engine/util/util-
generic-capabilities.c, engine/util/util-html.c, engine/util/util-imap-utf7.c,
engine/util/util-inet.c, engine/util/util-numeric.c, engine/util/util-
object.c, engine/util/util-reference-semantics.c, engine/util/util-
scheduler.c, engine/util/util-single-item.c, engine/util/util-stream.c,
engine/util/util-string.c, engine/util/util-synchronization.c, engine/util
/util-time.c, engine/util/util-trillian.c, common/common-arrays.c, common
/common-async.c, common/common-international.c, common/common-yorba-
application.c, geary-static.vapi, geary-static.h, geary-static_internal.h

make3: Leaving directory `/pkg/geary-git/src/geary/build'

make3: Entering directory `/pkg/geary-git/src/geary/build'

[ 16%] Generating engine/abstract/geary-abstract-account.c, engine/abstract
/geary-abstract-folder.c, engine/abstract/geary-abstract-local-folder.c,
engine/api/geary-account.c, engine/api/geary-account-information.c, engine/api
/geary-aggregated-folder-properties.c, engine/api/geary-attachment.c,
engine/api/geary-base-object.c, engine/api/geary-composed-email.c, engine/api
/geary-contact.c, engine/api/geary-contact-flags.c, engine/api/geary-contact-
importance.c, engine/api/geary-contact-store.c, engine/api/geary-
credentials.c, engine/api/geary-credentials-mediator.c, engine/api/geary-
email-flags.c, engine/api/geary-email-identifier.c, engine/api/geary-email-
properties.c, engine/api/geary-email.c, engine/api/geary-endpoint.c,
engine/api/geary-engine-error.c, engine/api/geary-engine.c, engine/api/geary-
folder.c, engine/api/geary-folder-path.c, engine/api/geary-folder-
properties.c, engine/api/geary-folder-supports-archive.c, engine/api/geary-
folder-supports-copy.c, engine/api/geary-folder-supports-create.c, engine/api
/geary-folder-supports-mark.c, engine/api/geary-folder-supports-move.c,
engine/api/geary-folder-supports-remove.c, engine/api/geary-logging.c,
engine/api/geary-named-flag.c, engine/api/geary-named-flags.c, engine/api
/geary-progress-monitor.c, engine/api/geary-search-folder.c, engine/api/geary-
service-provider.c, engine/api/geary-special-folder-type.c, engine/app/app-
conversation.c, engine/app/app-conversation-monitor.c, engine/app/app-email-
store.c, engine/app/conversation-monitor/app-append-operation.c, engine/app
/conversation-monitor/app-conversation-operation-queue.c, engine/app
/conversation-monitor/app-conversation-operation.c, engine/app/conversation-
monitor/app-conversation-set.c, engine/app/conversation-monitor/app-external-
append-operation.c, engine/app/conversation-monitor/app-fill-window-
operation.c, engine/app/conversation-monitor/app-local-load-operation.c,
engine/app/conversation-monitor/app-local-search-operation.c, engine/app
/conversation-monitor/app-remove-operation.c, engine/app/conversation-monitor
/app-reseed-operation.c, engine/app/conversation-monitor/app-terminate-
operation.c, engine/app/email-store/app-async-folder-operation.c, engine/app
/email-store/app-copy-operation.c, engine/app/email-store/app-fetch-
operation.c, engine/app/email-store/app-list-operation.c, engine/app/email-
store/app-mark-operation.c, engine/common/common-message-data.c,
engine/db/db.c, engine/db/db-connection.c, engine/db/db-context.c, engine/db
/db-database.c, engine/db/db-database-error.c, engine/db/db-result.c,
engine/db/db-statement.c, engine/db/db-synchronous-mode.c, engine/db/db-
transaction-async-job.c, engine/db/db-transaction-outcome.c, engine/db/db-
transaction-type.c, engine/db/db-versioned-database.c, engine/imap/imap.c,
engine/imap/imap-error.c, engine/imap/api/imap-account.c, engine/imap/api
/imap-email-flags.c, engine/imap/api/imap-email-properties.c, engine/imap/api
/imap-folder-properties.c, engine/imap/api/imap-folder.c, engine/imap/api
/imap-folder-root.c, engine/imap/command/imap-append-command.c,
engine/imap/command/imap-capability-command.c, engine/imap/command/imap-close-
command.c, engine/imap/command/imap-command.c, engine/imap/command/imap-
compress-command.c, engine/imap/command/imap-copy-command.c,
engine/imap/command/imap-examine-command.c, engine/imap/command/imap-expunge-
command.c, engine/imap/command/imap-fetch-command.c, engine/imap/command/imap-
id-command.c, engine/imap/command/imap-idle-command.c, engine/imap/command
/imap-list-command.c, engine/imap/command/imap-login-command.c,
engine/imap/command/imap-logout-command.c, engine/imap/command/imap-message-
set.c, engine/imap/command/imap-noop-command.c, engine/imap/command/imap-
search-command.c, engine/imap/command/imap-search-criteria.c,
engine/imap/command/imap-search-criterion.c, engine/imap/command/imap-select-
command.c, engine/imap/command/imap-starttls-command.c, engine/imap/command
/imap-status-command.c, engine/imap/command/imap-store-command.c,
engine/imap/message/imap-data-format.c, engine/imap/message/imap-envelope.c,
engine/imap/message/imap-fetch-body-data-specifier.c, engine/imap/message
/imap-fetch-data-specifier.c, engine/imap/message/imap-flag.c,
engine/imap/message/imap-flags.c, engine/imap/message/imap-internal-date.c,
engine/imap/message/imap-mailbox-specifier.c, engine/imap/message/imap-
mailbox-parameter.c, engine/imap/message/imap-message-data.c,
engine/imap/message/imap-message-flag.c, engine/imap/message/imap-message-
flags.c, engine/imap/message/imap-sequence-number.c, engine/imap/message/imap-
status-data-type.c, engine/imap/message/imap-tag.c, engine/imap/message/imap-
uid.c, engine/imap/message/imap-uid-validity.c, engine/imap/parameter/imap-
atom-parameter.c, engine/imap/parameter/imap-list-parameter.c,
engine/imap/parameter/imap-literal-parameter.c, engine/imap/parameter/imap-
nil-parameter.c, engine/imap/parameter/imap-number-parameter.c,
engine/imap/parameter/imap-parameter.c, engine/imap/parameter/imap-quoted-
string-parameter.c, engine/imap/parameter/imap-root-parameters.c,
engine/imap/parameter/imap-string-parameter.c, engine/imap/parameter/imap-
unquoted-string-parameter.c, engine/imap/response/imap-capabilities.c,
engine/imap/response/imap-continuation-response.c, engine/imap/response/imap-
fetch-data-decoder.c, engine/imap/response/imap-fetched-data.c,
engine/imap/response/imap-mailbox-attribute.c, engine/imap/response/imap-
mailbox-attributes.c, engine/imap/response/imap-mailbox-information.c,
engine/imap/response/imap-response-code.c, engine/imap/response/imap-response-
code-type.c, engine/imap/response/imap-server-data.c, engine/imap/response
/imap-server-data-type.c, engine/imap/response/imap-server-response.c,
engine/imap/response/imap-status.c, engine/imap/response/imap-status-data.c,
engine/imap/response/imap-status-response.c, engine/imap/transport/imap-
client-connection.c, engine/imap/transport/imap-client-session-manager.c,
engine/imap/transport/imap-client-session.c, engine/imap/transport/imap-
deserializer.c, engine/imap/transport/imap-serializer.c, engine/imap-db/imap-
db-account.c, engine/imap-db/imap-db-attachment.c, engine/imap-db/imap-db-
contact.c, engine/imap-db/imap-db-database.c, engine/imap-db/imap-db-email-
identifier.c, engine/imap-db/imap-db-folder.c, engine/imap-db/imap-db-message-
addresses.c, engine/imap-db/imap-db-message-row.c, engine/imap-db/imap-db-
search-email-identifier.c, engine/imap-db/outbox/smtp-outbox-email-
identifier.c, engine/imap-db/outbox/smtp-outbox-email-properties.c, engine
/imap-db/outbox/smtp-outbox-folder.c, engine/imap-db/outbox/smtp-outbox-
folder-properties.c, engine/imap-db/outbox/smtp-outbox-folder-root.c, engine
/imap-engine/imap-engine.c, engine/imap-engine/imap-engine-account-
synchronizer.c, engine/imap-engine/imap-engine-batch-operations.c, engine
/imap-engine/imap-engine-contact-store.c, engine/imap-engine/imap-engine-
email-flag-watcher.c, engine/imap-engine/imap-engine-email-prefetcher.c,
engine/imap-engine/imap-engine-generic-account.c, engine/imap-engine/imap-
engine-generic-all-mail-folder.c, engine/imap-engine/imap-engine-generic-
drafts-folder.c, engine/imap-engine/imap-engine-generic-folder.c, engine/imap-
engine/imap-engine-generic-sent-mail-folder.c, engine/imap-engine/imap-engine-
generic-trash-folder.c, engine/imap-engine/imap-engine-receive-replay-
operation.c, engine/imap-engine/imap-engine-replay-operation.c, engine/imap-
engine/imap-engine-replay-queue.c, engine/imap-engine/imap-engine-send-replay-
operation.c, engine/imap-engine/gmail/imap-engine-gmail-account.c, engine
/imap-engine/gmail/imap-engine-gmail-folder.c, engine/imap-engine/gmail/imap-
engine-gmail-search-folder.c, engine/imap-engine/other/imap-engine-other-
account.c, engine/imap-engine/other/imap-engine-other-folder.c, engine/imap-
engine/outlook/imap-engine-outlook-account.c, engine/imap-engine/outlook/imap-
engine-outlook-folder.c, engine/imap-engine/replay-ops/imap-engine-abstract-
list-email.c, engine/imap-engine/replay-ops/imap-engine-copy-email.c, engine
/imap-engine/replay-ops/imap-engine-create-email.c, engine/imap-engine/replay-
ops/imap-engine-fetch-email.c, engine/imap-engine/replay-ops/imap-engine-list-
email-by-id.c, engine/imap-engine/replay-ops/imap-engine-list-email-by-sparse-
id.c, engine/imap-engine/replay-ops/imap-engine-mark-email.c, engine/imap-
engine/replay-ops/imap-engine-move-email.c, engine/imap-engine/replay-ops
/imap-engine-remove-email.c, engine/imap-engine/replay-ops/imap-engine-replay-
append.c, engine/imap-engine/replay-ops/imap-engine-replay-disconnect.c,
engine/imap-engine/replay-ops/imap-engine-replay-removal.c, engine/imap-engine
/replay-ops/imap-engine-server-search-email.c, engine/imap-engine/yahoo/imap-
engine-yahoo-account.c, engine/imap-engine/yahoo/imap-engine-yahoo-folder.c,
engine/memory/memory-buffer.c, engine/memory/memory-byte-buffer.c,
engine/memory/memory-empty-buffer.c, engine/memory/memory-file-buffer.c,
engine/memory/memory-growable-buffer.c, engine/memory/memory-string-buffer.c,
engine/memory/memory-unowned-byte-array-buffer.c, engine/memory/memory-
unowned-bytes-buffer.c, engine/memory/memory-unowned-string-buffer.c,
engine/nonblocking/nonblocking-abstract-semaphore.c, engine/nonblocking
/nonblocking-batch.c, engine/nonblocking/nonblocking-concurrent.c,
engine/nonblocking/nonblocking-counting-semaphore.c, engine/nonblocking
/nonblocking-error.c, engine/nonblocking/nonblocking-mailbox.c,
engine/nonblocking/nonblocking-mutex.c, engine/nonblocking/nonblocking-
reporting-semaphore.c, engine/nonblocking/nonblocking-variants.c,
engine/rfc822/rfc822.c, engine/rfc822/rfc822-error.c, engine/rfc822/rfc822
-gmime-filter-flowed.c, engine/rfc822/rfc822-gmime-filter-blockquotes.c,
engine/rfc822/rfc822-gmime-filter-plain.c, engine/rfc822/rfc822-mailbox-
addresses.c, engine/rfc822/rfc822-mailbox-address.c,
engine/rfc822/rfc822-message.c, engine/rfc822/rfc822-message-data.c,
engine/rfc822/rfc822-utils.c, engine/smtp/smtp-abstract-authenticator.c,
engine/smtp/smtp-authenticator.c, engine/smtp/smtp-capabilities.c, engine/smtp
/smtp-client-connection.c, engine/smtp/smtp-client-session.c, engine/smtp
/smtp-command.c, engine/smtp/smtp-data-format.c, engine/smtp/smtp-error.c,
engine/smtp/smtp-greeting.c, engine/smtp/smtp-login-authenticator.c,
engine/smtp/smtp-plain-authenticator.c, engine/smtp/smtp-request.c,
engine/smtp/smtp-response.c, engine/smtp/smtp-response-code.c, engine/smtp
/smtp-response-line.c, engine/state/state-machine-descriptor.c, engine/state
/state-machine.c, engine/state/state-mapping.c, engine/util/util-collection.c,
engine/util/util-converter.c, engine/util/util-files.c, engine/util/util-
generic-capabilities.c, engine/util/util-html.c, engine/util/util-imap-utf7.c,
engine/util/util-inet.c, engine/util/util-numeric.c, engine/util/util-
object.c, engine/util/util-reference-semantics.c, engine/util/util-
scheduler.c, engine/util/util-single-item.c, engine/util/util-stream.c,
engine/util/util-string.c, engine/util/util-synchronization.c, engine/util
/util-time.c, engine/util/util-trillian.c, common/common-arrays.c, common
/common-async.c, common/common-international.c, common/common-yorba-
application.c, geary-static.vapi, geary-static.h, geary-static_internal.h

make3: Leaving directory `/pkg/geary-git/src/geary/build'

[ 80%] Built target geary-static

make3: Entering directory `/pkg/geary-git/src/geary/build'

[ 80%] Generating engine/abstract/geary-abstract-account.c, engine/abstract
/geary-abstract-folder.c, engine/abstract/geary-abstract-local-folder.c,
engine/api/geary-account.c, engine/api/geary-account-information.c, engine/api
/geary-aggregated-folder-properties.c, engine/api/geary-attachment.c,
engine/api/geary-base-object.c, engine/api/geary-composed-email.c, engine/api
/geary-contact.c, engine/api/geary-contact-flags.c, engine/api/geary-contact-
importance.c, engine/api/geary-contact-store.c, engine/api/geary-
credentials.c, engine/api/geary-credentials-mediator.c, engine/api/geary-
email-flags.c, engine/api/geary-email-identifier.c, engine/api/geary-email-
properties.c, engine/api/geary-email.c, engine/api/geary-endpoint.c,
engine/api/geary-engine-error.c, engine/api/geary-engine.c, engine/api/geary-
folder.c, engine/api/geary-folder-path.c, engine/api/geary-folder-
properties.c, engine/api/geary-folder-supports-archive.c, engine/api/geary-
folder-supports-copy.c, engine/api/geary-folder-supports-create.c, engine/api
/geary-folder-supports-mark.c, engine/api/geary-folder-supports-move.c,
engine/api/geary-folder-supports-remove.c, engine/api/geary-logging.c,
engine/api/geary-named-flag.c, engine/api/geary-named-flags.c, engine/api
/geary-progress-monitor.c, engine/api/geary-search-folder.c, engine/api/geary-
service-provider.c, engine/api/geary-special-folder-type.c, engine/app/app-
conversation.c, engine/app/app-conversation-monitor.c, engine/app/app-email-
store.c, engine/app/conversation-monitor/app-append-operation.c, engine/app
/conversation-monitor/app-conversation-operation-queue.c, engine/app
/conversation-monitor/app-conversation-operation.c, engine/app/conversation-
monitor/app-conversation-set.c, engine/app/conversation-monitor/app-external-
append-operation.c, engine/app/conversation-monitor/app-fill-window-
operation.c, engine/app/conversation-monitor/app-local-load-operation.c,
engine/app/conversation-monitor/app-local-search-operation.c, engine/app
/conversation-monitor/app-remove-operation.c, engine/app/conversation-monitor
/app-reseed-operation.c, engine/app/conversation-monitor/app-terminate-
operation.c, engine/app/email-store/app-async-folder-operation.c, engine/app
/email-store/app-copy-operation.c, engine/app/email-store/app-fetch-
operation.c, engine/app/email-store/app-list-operation.c, engine/app/email-
store/app-mark-operation.c, engine/common/common-message-data.c,
engine/db/db.c, engine/db/db-connection.c, engine/db/db-context.c, engine/db
/db-database.c, engine/db/db-database-error.c, engine/db/db-result.c,
engine/db/db-statement.c, engine/db/db-synchronous-mode.c, engine/db/db-
transaction-async-job.c, engine/db/db-transaction-outcome.c, engine/db/db-
transaction-type.c, engine/db/db-versioned-database.c, engine/imap/imap.c,
engine/imap/imap-error.c, engine/imap/api/imap-account.c, engine/imap/api
/imap-email-flags.c, engine/imap/api/imap-email-properties.c, engine/imap/api
/imap-folder-properties.c, engine/imap/api/imap-folder.c, engine/imap/api
/imap-folder-root.c, engine/imap/command/imap-append-command.c,
engine/imap/command/imap-capability-command.c, engine/imap/command/imap-close-
command.c, engine/imap/command/imap-command.c, engine/imap/command/imap-
compress-command.c, engine/imap/command/imap-copy-command.c,
engine/imap/command/imap-examine-command.c, engine/imap/command/imap-expunge-
command.c, engine/imap/command/imap-fetch-command.c, engine/imap/command/imap-
id-command.c, engine/imap/command/imap-idle-command.c, engine/imap/command
/imap-list-command.c, engine/imap/command/imap-login-command.c,
engine/imap/command/imap-logout-command.c, engine/imap/command/imap-message-
set.c, engine/imap/command/imap-noop-command.c, engine/imap/command/imap-
search-command.c, engine/imap/command/imap-search-criteria.c,
engine/imap/command/imap-search-criterion.c, engine/imap/command/imap-select-
command.c, engine/imap/command/imap-starttls-command.c, engine/imap/command
/imap-status-command.c, engine/imap/command/imap-store-command.c,
engine/imap/message/imap-data-format.c, engine/imap/message/imap-envelope.c,
engine/imap/message/imap-fetch-body-data-specifier.c, engine/imap/message
/imap-fetch-data-specifier.c, engine/imap/message/imap-flag.c,
engine/imap/message/imap-flags.c, engine/imap/message/imap-internal-date.c,
engine/imap/message/imap-mailbox-specifier.c, engine/imap/message/imap-
mailbox-parameter.c, engine/imap/message/imap-message-data.c,
engine/imap/message/imap-message-flag.c, engine/imap/message/imap-message-
flags.c, engine/imap/message/imap-sequence-number.c, engine/imap/message/imap-
status-data-type.c, engine/imap/message/imap-tag.c, engine/imap/message/imap-
uid.c, engine/imap/message/imap-uid-validity.c, engine/imap/parameter/imap-
atom-parameter.c, engine/imap/parameter/imap-list-parameter.c,
engine/imap/parameter/imap-literal-parameter.c, engine/imap/parameter/imap-
nil-parameter.c, engine/imap/parameter/imap-number-parameter.c,
engine/imap/parameter/imap-parameter.c, engine/imap/parameter/imap-quoted-
string-parameter.c, engine/imap/parameter/imap-root-parameters.c,
engine/imap/parameter/imap-string-parameter.c, engine/imap/parameter/imap-
unquoted-string-parameter.c, engine/imap/response/imap-capabilities.c,
engine/imap/response/imap-continuation-response.c, engine/imap/response/imap-
fetch-data-decoder.c, engine/imap/response/imap-fetched-data.c,
engine/imap/response/imap-mailbox-attribute.c, engine/imap/response/imap-
mailbox-attributes.c, engine/imap/response/imap-mailbox-information.c,
engine/imap/response/imap-response-code.c, engine/imap/response/imap-response-
code-type.c, engine/imap/response/imap-server-data.c, engine/imap/response
/imap-server-data-type.c, engine/imap/response/imap-server-response.c,
engine/imap/response/imap-status.c, engine/imap/response/imap-status-data.c,
engine/imap/response/imap-status-response.c, engine/imap/transport/imap-
client-connection.c, engine/imap/transport/imap-client-session-manager.c,
engine/imap/transport/imap-client-session.c, engine/imap/transport/imap-
deserializer.c, engine/imap/transport/imap-serializer.c, engine/imap-db/imap-
db-account.c, engine/imap-db/imap-db-attachment.c, engine/imap-db/imap-db-
contact.c, engine/imap-db/imap-db-database.c, engine/imap-db/imap-db-email-
identifier.c, engine/imap-db/imap-db-folder.c, engine/imap-db/imap-db-message-
addresses.c, engine/imap-db/imap-db-message-row.c, engine/imap-db/imap-db-
search-email-identifier.c, engine/imap-db/outbox/smtp-outbox-email-
identifier.c, engine/imap-db/outbox/smtp-outbox-email-properties.c, engine
/imap-db/outbox/smtp-outbox-folder.c, engine/imap-db/outbox/smtp-outbox-
folder-properties.c, engine/imap-db/outbox/smtp-outbox-folder-root.c, engine
/imap-engine/imap-engine.c, engine/imap-engine/imap-engine-account-
synchronizer.c, engine/imap-engine/imap-engine-batch-operations.c, engine
/imap-engine/imap-engine-contact-store.c, engine/imap-engine/imap-engine-
email-flag-watcher.c, engine/imap-engine/imap-engine-email-prefetcher.c,
engine/imap-engine/imap-engine-generic-account.c, engine/imap-engine/imap-
engine-generic-all-mail-folder.c, engine/imap-engine/imap-engine-generic-
drafts-folder.c, engine/imap-engine/imap-engine-generic-folder.c, engine/imap-
engine/imap-engine-generic-sent-mail-folder.c, engine/imap-engine/imap-engine-
generic-trash-folder.c, engine/imap-engine/imap-engine-receive-replay-
operation.c, engine/imap-engine/imap-engine-replay-operation.c, engine/imap-
engine/imap-engine-replay-queue.c, engine/imap-engine/imap-engine-send-replay-
operation.c, engine/imap-engine/gmail/imap-engine-gmail-account.c, engine
/imap-engine/gmail/imap-engine-gmail-folder.c, engine/imap-engine/gmail/imap-
engine-gmail-search-folder.c, engine/imap-engine/other/imap-engine-other-
account.c, engine/imap-engine/other/imap-engine-other-folder.c, engine/imap-
engine/outlook/imap-engine-outlook-account.c, engine/imap-engine/outlook/imap-
engine-outlook-folder.c, engine/imap-engine/replay-ops/imap-engine-abstract-
list-email.c, engine/imap-engine/replay-ops/imap-engine-copy-email.c, engine
/imap-engine/replay-ops/imap-engine-create-email.c, engine/imap-engine/replay-
ops/imap-engine-fetch-email.c, engine/imap-engine/replay-ops/imap-engine-list-
email-by-id.c, engine/imap-engine/replay-ops/imap-engine-list-email-by-sparse-
id.c, engine/imap-engine/replay-ops/imap-engine-mark-email.c, engine/imap-
engine/replay-ops/imap-engine-move-email.c, engine/imap-engine/replay-ops
/imap-engine-remove-email.c, engine/imap-engine/replay-ops/imap-engine-replay-
append.c, engine/imap-engine/replay-ops/imap-engine-replay-disconnect.c,
engine/imap-engine/replay-ops/imap-engine-replay-removal.c, engine/imap-engine
/replay-ops/imap-engine-server-search-email.c, engine/imap-engine/yahoo/imap-
engine-yahoo-account.c, engine/imap-engine/yahoo/imap-engine-yahoo-folder.c,
engine/memory/memory-buffer.c, engine/memory/memory-byte-buffer.c,
engine/memory/memory-empty-buffer.c, engine/memory/memory-file-buffer.c,
engine/memory/memory-growable-buffer.c, engine/memory/memory-string-buffer.c,
engine/memory/memory-unowned-byte-array-buffer.c, engine/memory/memory-
unowned-bytes-buffer.c, engine/memory/memory-unowned-string-buffer.c,
engine/nonblocking/nonblocking-abstract-semaphore.c, engine/nonblocking
/nonblocking-batch.c, engine/nonblocking/nonblocking-concurrent.c,
engine/nonblocking/nonblocking-counting-semaphore.c, engine/nonblocking
/nonblocking-error.c, engine/nonblocking/nonblocking-mailbox.c,
engine/nonblocking/nonblocking-mutex.c, engine/nonblocking/nonblocking-
reporting-semaphore.c, engine/nonblocking/nonblocking-variants.c,
engine/rfc822/rfc822.c, engine/rfc822/rfc822-error.c, engine/rfc822/rfc822
-gmime-filter-flowed.c, engine/rfc822/rfc822-gmime-filter-blockquotes.c,
engine/rfc822/rfc822-gmime-filter-plain.c, engine/rfc822/rfc822-mailbox-
addresses.c, engine/rfc822/rfc822-mailbox-address.c,
engine/rfc822/rfc822-message.c, engine/rfc822/rfc822-message-data.c,
engine/rfc822/rfc822-utils.c, engine/smtp/smtp-abstract-authenticator.c,
engine/smtp/smtp-authenticator.c, engine/smtp/smtp-capabilities.c, engine/smtp
/smtp-client-connection.c, engine/smtp/smtp-client-session.c, engine/smtp
/smtp-command.c, engine/smtp/smtp-data-format.c, engine/smtp/smtp-error.c,
engine/smtp/smtp-greeting.c, engine/smtp/smtp-login-authenticator.c,
engine/smtp/smtp-plain-authenticator.c, engine/smtp/smtp-request.c,
engine/smtp/smtp-response.c, engine/smtp/smtp-response-code.c, engine/smtp
/smtp-response-line.c, engine/state/state-machine-descriptor.c, engine/state
/state-machine.c, engine/state/state-mapping.c, engine/util/util-collection.c,
engine/util/util-converter.c, engine/util/util-files.c, engine/util/util-
generic-capabilities.c, engine/util/util-html.c, engine/util/util-imap-utf7.c,
engine/util/util-inet.c, engine/util/util-numeric.c, engine/util/util-
object.c, engine/util/util-reference-semantics.c, engine/util/util-
scheduler.c, engine/util/util-single-item.c, engine/util/util-stream.c,
engine/util/util-string.c, engine/util/util-synchronization.c, engine/util
/util-time.c, engine/util/util-trillian.c, common/common-arrays.c, common
/common-async.c, common/common-international.c, common/common-yorba-
application.c, geary-static.vapi, geary-static.h, geary-static_internal.h

[ 80%] Generating .geary.stamp

WebKit-3.0.gir:25425.7-25427.16: error: overriding method
`WebKit.DOM.Node.dispatch_event' is incompatible with base method
`WebKit.DOM.EventTarget.dispatch_event': incompatible return type.

WebKit-3.0.gir:3372.7-3374.16: error: overriding method
`WebKit.DOM.DOMWindow.dispatch_event' is incompatible with base method
`WebKit.DOM.EventTarget.dispatch_event': incompatible return type.

WebKit-3.0.gir:1692.7-1694.16: error: overriding method
`WebKit.DOM.DOMApplicationCache.dispatch_event' is incompatible with base
method `WebKit.DOM.EventTarget.dispatch_event': incompatible return type.

WebKit-3.0.gir:650.7-652.16: error: overriding method
`WebKit.DOM.BatteryManager.dispatch_event' is incompatible with base method
`WebKit.DOM.EventTarget.dispatch_event': incompatible return type.

WebKit-3.0.gir:29788.7-29790.16: error: overriding method
`WebKit.DOM.WebKitNamedFlow.dispatch_event' is incompatible with base method
`WebKit.DOM.EventTarget.dispatch_event': incompatible return type.

WebKit-3.0.gir:513.7-515.16: error: overriding method
`WebKit.DOM.AudioTrackList.dispatch_event' is incompatible with base method
`WebKit.DOM.EventTarget.dispatch_event': incompatible return type.

WebKit-3.0.gir:28437.7-28439.16: error: overriding method
`WebKit.DOM.TextTrackCue.dispatch_event' is incompatible with base method
`WebKit.DOM.EventTarget.dispatch_event': incompatible return type.

WebKit-3.0.gir:28281.7-28283.16: error: overriding method
`WebKit.DOM.TextTrack.dispatch_event' is incompatible with base method
`WebKit.DOM.EventTarget.dispatch_event': incompatible return type.

WebKit-3.0.gir:28914.7-28916.16: error: overriding method
`WebKit.DOM.TextTrackList.dispatch_event' is incompatible with base method
`WebKit.DOM.EventTarget.dispatch_event': incompatible return type.

WebKit-3.0.gir:29706.7-29708.16: error: overriding method
`WebKit.DOM.VideoTrackList.dispatch_event' is incompatible with base method
`WebKit.DOM.EventTarget.dispatch_event': incompatible return type.

/pkg/geary-git/src/geary/src/client/util/util-webkit.vala:117.13-117.66:
error: 1 extra arguments for `bool WebKit.DOM.EventTarget.add_event_listener
(string event_name, owned GLib.Callback handler, bool bubble)'

node.add_event_listener(event, callback, false, extra);

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Compilation failed: 11 error(s), 0 warning(s)

make3: *** [src/.geary.stamp] Error 1

make3: Leaving directory `/pkg/geary-git/src/geary/build'

make2: ****** [src/CMakeFiles/geary.dir/all] Error 2

make2: Leaving directory `/pkg/geary-git/src/geary/build'

make1: ** [all] Error 2

make1: Leaving directory `/pkg/geary-git/src/geary/build'

make: *** [all] Error 2

####

#25

Updated by Adam Dingle about 1 month ago

  * **Status** changed from _Fixed_ to _Open_

Hm - I see the same error when I attempt to build with WebKit 2.2.0.
Reopening.

####

#26

Updated by Mykola Dvornik about 1 month ago

yep, cannot be compiled with WebKitGtk3 2.2. Adding two lines to
'bindings/metadata/WebKit-3.0.metadata' from the patch above fixes the
problem.

####

#27

Updated by Jim Nelson about 1 month ago

  * **Target version** changed from _0.4.0_ to _0.5.0_

So I figured out my mistake -- the 2.2.0 tarball does not install a .gir file
by default, and so an older-versioned one was being used by Vala. It appears
that was not true for the pre-release versions of the tarball, however.
Frustrating.

This is not something we can change now. We'll have to pick this up later. I'm
going to build a branch that Fedora can cherrypick from to patch the tarball
for F20.

####

#28

Updated by Alexander Wilms about 1 month ago

I can't even configure Geary, even with the patch applied:

package 'webkitgtk-3.0<=2.0.4' not found

I installed every thing you listed in the wiki and ran yum-builddep geary

####

#29

Updated by Adam Dingle about 1 month ago

You need to remove the line "webkitgtk-3.0<=2.0.4" from src/CMakeLists.txt and
then it will work. It would be nice to have an updated patch that does that
automatically.

####

#30

Updated by Alexander Wilms about 1 month ago

Worked, thanks

####

#31

Updated by Jim Nelson about 1 month ago

Adam Dingle wrote:

> You need to remove the line "webkitgtk-3.0<=2.0.4" from src/CMakeLists.txt
and then it will work. It would be nice to have an updated patch that does
that automatically.

I'm still assigned to this ticket to do exactly that.

####

#32

Updated by Yosef Or Boczko about 1 month ago

If I removed the line „webkitgtk-3.0<=2.0.4” from src/CMakeLists.txt,

also with the patch above and also without the patch above,

I get the error from note 24:

[ 80%] Generating .geary.stamp

WebKit-3.0.gir:25425.7-25427.16: error: overriding method
`WebKit.DOM.Node.dispatch_event' is incompatible with base method
`WebKit.DOM.EventTarget.dispatch_event': incompatible return type.

WebKit-3.0.gir:3372.7-3374.16: error: overriding method
`WebKit.DOM.DOMWindow.dispatch_event' is incompatible with base method
`WebKit.DOM.EventTarget.dispatch_event': incompatible return type.

WebKit-3.0.gir:1692.7-1694.16: error: overriding method
`WebKit.DOM.DOMApplicationCache.dispatch_event' is incompatible with base
method `WebKit.DOM.EventTarget.dispatch_event': incompatible return type.

WebKit-3.0.gir:650.7-652.16: error: overriding method
`WebKit.DOM.BatteryManager.dispatch_event' is incompatible with base method
`WebKit.DOM.EventTarget.dispatch_event': incompatible return type.

WebKit-3.0.gir:29788.7-29790.16: error: overriding method
`WebKit.DOM.WebKitNamedFlow.dispatch_event' is incompatible with base method
`WebKit.DOM.EventTarget.dispatch_event': incompatible return type.

WebKit-3.0.gir:513.7-515.16: error: overriding method
`WebKit.DOM.AudioTrackList.dispatch_event' is incompatible with base method
`WebKit.DOM.EventTarget.dispatch_event': incompatible return type.

WebKit-3.0.gir:28437.7-28439.16: error: overriding method
`WebKit.DOM.TextTrackCue.dispatch_event' is incompatible with base method
`WebKit.DOM.EventTarget.dispatch_event': incompatible return type.

WebKit-3.0.gir:28281.7-28283.16: error: overriding method
`WebKit.DOM.TextTrack.dispatch_event' is incompatible with base method
`WebKit.DOM.EventTarget.dispatch_event': incompatible return type.

WebKit-3.0.gir:28914.7-28916.16: error: overriding method
`WebKit.DOM.TextTrackList.dispatch_event' is incompatible with base method
`WebKit.DOM.EventTarget.dispatch_event': incompatible return type.

WebKit-3.0.gir:29706.7-29708.16: error: overriding method
`WebKit.DOM.VideoTrackList.dispatch_event' is incompatible with base method
`WebKit.DOM.EventTarget.dispatch_event': incompatible return type.

Compilation failed: 10 error(s), 0 warning(s)

make3: *** [src/.geary.stamp] Error 1

####

#33

Updated by Jim Nelson about 1 month ago

I don't think I've seen those errors before -- what version of WebKitGTK do
you have installed?

####

#34

Updated by Yosef Or Boczko about 1 month ago

$ pkg-config --modversion webkit2gtk-3.0

2.2.0

WebKitGTK+3 2.2.0, ArchLinux.

####

#35

Updated by Martin Honermeyer about 1 month ago

Yosef Or Boczko wrote:

> If I removed the line „webkitgtk-3.0<=2.0.4” from src/CMakeLists.txt,

also with the patch above and also without the patch above,

I get the error from note 24:

Had the same problem on Arch Linux. It currently works for me removing the
line from CMakeLists.txt and using the above patch.

I just put up a [repository](https://github.com/djmaze/geary-git-pkgbuild)
with the current patches that work for me. Hope that helps!

####

#36

Updated by Yosef Or Boczko about 1 month ago

Well, I know what is the problem:

With vala from ArchLinux repo - it work,

but with Vala of me, from git - isn't work.

I don't knwo why.

####

#37

Updated by Jim Nelson about 1 month ago

Yosef, what version of Vala is in Arch's repo? When you say you're building
from git, are you building the latest from master?

####

#38

Updated by Yosef Or Boczko about 1 month ago

The version of Vala in Arch's repo is 0.22.0.

I built vala from git, the master branch.

####

#39

Updated by Charles Lindsay about 1 month ago

So it looks like to get this to build in Fedora 20 with its WebkitGTK 2.2.0
package, there are only a few changes that need to be made, including some of
our metadata. See `bug/7023-webkit-220-f20`.

Saucy with WebkitGTK 2.2.0 from the source tarball is a slightly different
story. I've got a branch up at `bug/7023-webkit-220-saucy` that just bumps the
CMakeLists.txt version. It builds just like that if you've installed the
libwebkitgtk-3.0-dev package in addition to WebkitGTK 2.2.0 from source (with
vanilla `./configure`). Note that the additional changes in the `-f20` branch
are incompatible with this scenario. I'm in the process of building WebkitGTK
2.2.0 with GIR support (which I hope is the only necessary thing missing from
vanilla `./configure`), and I'll try again once that's installed (without the
libwebkitgtk-3.0-dev package).

####

#40

Updated by Charles Lindsay 30 days ago

Ok, after installing WebkitGTK 2.2.0 from source in saucy and **not**
installing the dev package, the same very simple patch works for both saucy
and fedora 20. I've cleaned up the branches, so now it's just:

`bug/7023-webkit-220`

####

#41

Updated by Sebastian - 27 days ago

Hi..

Just FYI: geary trunk doesn't build on Debian testing (errors on the 1 extra
argument error) with libwebkitgtk-3.0-dev 2.2.0-2.

The branch bug/7023-webkit-220 builds (quite a lot of warnings but geary
runs).

####

#42

Updated by Jim Nelson 24 days ago

  * **Target version** changed from _0.5.0_ to _0.4.1_

####

#43

Updated by Jim Nelson 24 days ago

  * **Status** changed from _Open_ to _Fixed_

Applied in changeset cfc472cfc803975848e217e2e88c547f9f692212.



--- Bug imported by chaz@yorba.org 2013-11-21 20:19 UTC  ---

This bug was previously known as _bug_ 7023 at http://redmine.yorba.org/show_bug.cgi?id=7023
Imported an attachment (id=260597)

Unknown milestone "unknown in product geary. 
   Setting to default milestone for this product, "---".
Setting qa contact to the default for this product.
   This bug either had no qa contact or an invalid one.