GNOME Bugzilla – Bug 713168
can't build with WebKitGTK 2.1.1
Last modified: 2013-10-28 11:19:00 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.