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 762780 - app.vala:370.5-370.40: error: Vte.Terminal.set_color_cursor_foreground is not available in vte-2.91 0.43.3. Use vte-2.91 >= 0.44
app.vala:370.5-370.40: error: Vte.Terminal.set_color_cursor_foreground is not...
Status: RESOLVED FIXED
Product: vte
Classification: Core
Component: general
0.43.x
Other Linux
: Normal normal
: ---
Assigned To: VTE Maintainers
VTE Maintainers
: 763349 764779 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2016-02-27 16:29 UTC by Michael Catanzaro
Modified: 2016-04-15 16:47 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
build: Pass --disable-since-check to internal valac build (719 bytes, patch)
2016-02-27 17:42 UTC, Rico Tzschichholz
none Details | Review
build: pass --disable-since-check to internal valac build (1.51 KB, patch)
2016-03-30 22:24 UTC, Alberts Muktupāvels
none Details | Review

Description Michael Catanzaro 2016-02-27 16:29:25 UTC
vte (vte-0-44 branch) is broken in jhbuild:

  VALAC    vte_2_91_vala.stamp
app.vala:370.5-370.40: error: Vte.Terminal.set_color_cursor_foreground is not available in vte-2.91 0.43.3. Use vte-2.91 >= 0.44
    terminal.set_color_cursor_foreground(App.Options.get_color_cursor_foreground());
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Compilation failed: 1 error(s), 0 warning(s)

Not sure what to do about this, nor even sure where the 0.43.3 is coming from, that's really weird as this is a completely clean build, the version number should be 0.43.90... my best guess is that it's using the vte bindings shipped by vala, which I built against vte 0.43.3 because jhbuild always builds vala before vte.
Comment 1 Michael Catanzaro 2016-02-27 16:37:15 UTC
Please revert https://git.gnome.org/browse/jhbuild/commit/?id=d79e78c0b2860a8fb56be5cae7e0d8d7ffd5bf54 when this is fixed. Bonus points if someone fixes this before the next GNOME release.
Comment 2 Michael Catanzaro 2016-02-27 16:38:36 UTC
Also to be clear, there are maybe two be two different bugs that need fixed here: (a) wrong vte bindings being used to compile app.vala(?), and (b) seems impossible to use a since tag for the next stable release in an unstable release(?).
Comment 3 Rico Tzschichholz 2016-02-27 17:42:36 UTC
Created attachment 322540 [details] [review]
build: Pass --disable-since-check to internal valac build
Comment 4 Ben 2016-02-27 18:46:01 UTC
is app.vala being compiled with the in-tree .vapi?
Comment 5 Michael Catanzaro 2016-02-27 19:23:34 UTC
(In reply to Ben from comment #4)
> is app.vala being compiled with the in-tree .vapi?

My guess is it's being compiled with vala's vapi, not the in-tree vapi, as I have no other way to explain why 0.43.3 is in the error message when compiling vte 0.43.90.

Rico, does it make sense to delete the vapi shipped by vala, if they're interchangeable? Anyway, I'm unsure how any application can know whether it's getting the vte bindings from vte or the vte bindings from vala.
Comment 6 Christian Persch 2016-02-27 19:31:40 UTC
The vte-2.91 vapi only exists in vte not vala's vapi collection, and yes it is using the just-built one, not an installed one, or it wouldn't know anything about the new function.

This all works for me here btw (valac --version says 0.30.0.3), and on build.g.o too, apparently.
Comment 7 Michael Catanzaro 2016-02-27 20:07:05 UTC
(In reply to Christian Persch from comment #6)
> The vte-2.91 vapi only exists in vte not vala's vapi collection, and yes it
> is using the just-built one, not an installed one, or it wouldn't know
> anything about the new function.

OK you're right... I saw vte-2.90 in the vala repository and got confused.
Comment 8 Christian Persch 2016-02-28 11:48:57 UTC
Where exactly is vala getting the vte version from, anyway? There's no mention of it in the gir or vapi files, here.
Comment 9 Michael Catanzaro 2016-02-28 15:37:30 UTC
Could it be using the vte-2.91 vapi already installed in the install prefix?
Comment 10 Michael Catanzaro 2016-03-04 18:36:55 UTC
Rico's patch looks sane and should fix the problem, even if we don't understand this fully... can we land it?
Comment 11 Christian Persch 2016-03-04 19:35:57 UTC
Unfortunately older valac versions don't know that option, so we'll need a configure check too.
Comment 12 Christian Persch 2016-03-08 23:29:00 UTC
*** Bug 763349 has been marked as a duplicate of this bug. ***
Comment 13 Ben 2016-03-09 00:15:12 UTC
It gets the vte version from the pkg-config file, in ~/jhbuild/install/lib/pkgconfig/vte-2.91.pc

Maybe we should set PKG_CONFIG_PATH?

Also, I think the version in configure.ac needs to be updated to 0.46.0 because we have since: annotations with 0.46
Comment 14 Michael Catanzaro 2016-03-19 18:48:58 UTC
Would be really good to get this fixed in time for 3.20, so we can revert https://git.gnome.org/browse/jhbuild/commit/?id=d79e78c0b2860a8fb56be5cae7e0d8d7ffd5bf54

(In reply to Ben from comment #13)
> It gets the vte version from the pkg-config file, in
> ~/jhbuild/install/lib/pkgconfig/vte-2.91.pc

Good find.

> Maybe we should set PKG_CONFIG_PATH?
> 
> Also, I think the version in configure.ac needs to be updated to 0.46.0
> because we have since: annotations with 0.46

It's expected that the since: annotation matches the next stable release. Anyway, --disable-since-check should take care of that.
Comment 15 Michael Catanzaro 2016-03-22 17:51:37 UTC
(In reply to Michael Catanzaro from comment #14)
> (In reply to Ben from comment #13)
> > It gets the vte version from the pkg-config file, in
> > ~/jhbuild/install/lib/pkgconfig/vte-2.91.pc
> 
> Good find.

Note, this is easy to workaround in jhbuild by configuring it to uninstall vte before building it, like we do for evolution. I plan to do this soon.

(In reply to Rico Tzschichholz from comment #3)
> Created attachment 322540 [details] [review] [review]
> build: Pass --disable-since-check to internal valac build

With my release team hat on, to get vte and Terminal building from git master again, I'm planning to push this tomorrow, unless Christian objects. I can't imagine why anyone would ever want since-check if it doesn't understand GNOME's stable/unstable numbering scheme.
Comment 16 Christian Persch 2016-03-22 17:56:55 UTC
As per comment 11, we need a configure check for this flag, since older vala doesn't understand the option.
Comment 17 Alberts Muktupāvels 2016-03-30 22:24:27 UTC
Created attachment 325054 [details] [review]
build: pass --disable-since-check to internal valac build

With configure check.
Comment 18 Alberts Muktupāvels 2016-04-14 19:39:03 UTC
Can someone look at this bug? And once fixed also update jhbuild modules to build correct branches for 3.20 and 3.22.
Comment 19 Christian Persch 2016-04-15 16:10:33 UTC
*** Bug 764779 has been marked as a duplicate of this bug. ***
Comment 20 Alberts Muktupāvels 2016-04-15 16:17:36 UTC
Christian, are you going to push this fix also in vte-0-44 branch?
Comment 21 Christian Persch 2016-04-15 16:47:24 UTC
If you want it there, please cherry-pick -x it onto vte-0-44.