GNOME Bugzilla – Bug 720315
can't build on Ubuntu 14.04: add_event_listener conflicts with method of the same name
Last modified: 2013-12-18 19:25:46 UTC
I'm trying to build Geary from git master on Ubuntu 14.04, which has GTK 3.10.6 and WebKitGTK 2.3.2. The build fails with this: WebKit-3.0.gir:7763.7-7763.43: warning: Virtual method `WebKit.DOM.EventTarget.add_event_listener' conflicts with method of the same name <virtual-method name="add_event_listener"> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
I see the same issue with the Geary 0.5.0 snapshot on current Fedor rawhide, using webkitgtk3 2.3.2 and vala 0.22.1.
I'm still seeing this, so I'm now running the Ubuntu Geary binary rather than following the one from git master. Jim and/or Charles, do you think you'll be able to look at this this week?
I started work on this Friday. I hope to have this done in the next day or two.
Great to hear - thanks!
The .gir warning is the least of our worries. WebKitGTK has broken the API with this release: https://bugs.webkit.org/show_bug.cgi?id=77835 Although it's an improvement that they've moved to GClosures for event listening, getting Geary ported to this change is a significant amount of work. I'm digging into this right now.
It turns out they were using .gir annotations to hide the old API, so with some VAPI trickery we can still use the old-style GCallback listeners.
Fixed in commit:26982f9bc
Is there any chance that geary could be published in the PPA for trusty with this fix?
We only publish stable releases to our main PPA. We do have a Daily Build PPA that runs nightly compiles: https://launchpad.net/~yorba/+archive/daily-builds/+packages However, lately we've been getting "Dependency wait" notifications for Trusty. We usually see these at the start of a new cycle. I'll ping Ubuntu and see if there's some way to get this resolved soon.
I believe that the issue is that Geary requires libwebkitgtk-3.0-dev (< 2.1.0) but the version in trusty is 2.3.2-1ubuntu5. Geary would need to have its depends updated.
Good catch -- I overlooked that. I updated the debian/control in master. Hopefully that solves the problem.