Closed alex285 closed 7 years ago
That's weird, all of the PCRE2 is supported since VTE 0.46. What does tilix --version
show?
Also, what regex were you trying to use, wonder if this is more of a bad regex error that's getting a wrong error number.
Tilix is from master the time i filed the bug. im not trying to run a regex, it doesn't even launch. it happened after an update in Ubuntu which i have no idea which one
Do you have any custom hyperlinks?
Also what does tilix --version
show?
@gnunn1
Do you have any custom hyperlinks?
no
Also what does tilix --version show?
cant run since it gives me
glib.GException.GException@../../.dub/packages/gtk-d-3.5.1/gtk-d/src/glib/GException.d(40): PCRE2 not supported
findings i looked a bit into my update history and the relative changes that cause the issues seems to be
libvte-2.91 / libvte-2.91-common
from 0.44.2-1ubuntu3 to 0.48.2-0ubuntu2
downgrading vte fixed the issue. note that 0.44 is on Zesty (17.04) and 0.48 is on Artful (17.10)
Tilix version after the downgrade i can run Tilix again so
Versions Tilix version: 1.5.6 VTE version: 0.44 GTK Version: 3.22.12
Tilix Special Features Notifications enabled=0 Triggers enabled=0 Badges enabled=0
I'm going to have to fire up a VM to have a look at what's going on. Unfortunately I'm travelling today so it will probably be a couple of days before I can have a look.
See https://bugs.launchpad.net/ubuntu/+source/gnome-terminal/+bug/1666264 – apparently for 17.10 Artful they rolled back the PCRE changes in VTE.
I've been planning for months to write a bit harsh comment to that bug, just never got around to it. It's pathetic what they're doing.
Breaking Tilix would be another data point...
In the mean time I'm wondering... What about the Artful Tilix package, does that work? If so, how? Do they patch Vte-D or Tilix? If not, are they aware of it? ...
Thanks for the heads up @egmontkob, I've added a comment to the bug report. Seems like a very poor decision IMHO.
This does not affect Ubuntu 17.10 Alpha yet because 17.10 only has tilix 1.5.4 but pcre2 support was added to tilix after 1.5.6.
Once Ubuntu gets tilix 1.5.8 or whatever, Ubuntu will just need to patch tilix to tell it that 0.46 isn't high enough for PCRE2.
Ubuntu won't avoid PCRE2 forever, but from Ubuntu's perspective, almost nothing is using PCRE2 yet. (In GNOME, vte/gnome-terminal is using it but not glib.) Thank you for commenting on the LP bug.
Thanks for the reply. Isn't selectively reverting commits in VTE going to cause issues though since potentially every VTE based terminal emulator is going to run into this as they upgrade to PCRE2.
Wouldn't it just be cleaner to pin gnome-terminal and vte to the previous version since all of the terminal emulators will check the version number and work OOTB with the older version. Otherwise you are going to be constantly patching apps that use the version check to determine if PCRE2 is supported.
Also, anything in PPAs would have issues. Many people use the web8upd PPA for example which I assume wouldn't be patched by Ubuntu.
Also, doesn't gnome builder 3.24 use the PCRE2 vte functions.
It still seems weird to go this route. Essentially VTE is reporting a version where it is expected that the PCRE2 functions are available but are not. I'd be concerned this is going to lead to weird issues particularly with any lesser used packages or PPAs.
Is leaving VTE at 0.44 not an option for Ubuntu, seems like a much better solution to me as it eliminates the need to individually patch individual applications.
@gnunn1 I don't see how this decision will cause you much trouble at all personally. It's a downstream issue and it's up to Ubuntu to make sure Ubuntu's tilix package works.
I felt that it was better to update gnome-terminal with a revert patch than to leave it stuck at 3.20 for a few more Ubuntu releases. Once that revert patch becomes too much to handle or when more stuff in Ubuntu main converts to pcre2, we will reconsider.
It affects me in the sense that many people like the OP often build tilix from source to access the latest and greatest. At the end of the day it's your guys call, just offering an opinion on what I feel is a better solution. If it comes up in the future I'll send them to the linked Ubuntu issue.
@gnunn1 aside this issue, since you patch VTE, wouldn't be a good idea for a tilix-vte package? for Arch as well, without replacing original vte package, so Arch could ship it on [extra]?
@alex285 Arch is not even shipping tilix, why would it ship tilix-vte?
@f2404 ouch! i didnt know Tilix wasn't in [extra] because i always have it from source, but point remains, that Tilix needs a patched VTE to enable all the features, both in Ubuntu and Arch, and im not sure if all features are enabled on Fedora, so it makes sense to have a vte-tilix package, rather using upstream VTE or replacing upstream VTE (in case of AUR)
besides what if/when Tilix gets on [extra]?
@alex285 I don't do packaging but having said that I don't think my patches should really be in extra or a mainline repository. It's really more appropriate for AUR or PPA due to their experimental nature.
I'm closing this since IMHo it's an Ubuntu issue and up to them to deal with it.
@gnunn1 why not leave it open for people that will have the same issue? it is upstream, but it is still a bug that affects Tilix, in the most popular distro
perhaps just add "Ubuntu something" in the title?
@alex285 github's issue management isn't great and I don't like to leave a bunch of issues open that are out of my control, hence I close them. If you want, feel free to add a FAQ item to the tilix website for this issue as that is the best location for it.
@gnunn1 i added an item as you suggested on FAQ hope i did it right! but back to the original issue, whats the recommended workaround on this?
@jbicha please opinion?
IMO wipe out artful's braindamagedly patched vte and install a mainstream one :)
@alex285 Use Arch ;)
@egmontkob which is why i asked @jbicha if there will be a PPA to offer an upstream VTE for Ubuntu 17.10 in case that the decision remains
@alex285 you would need to modify the version checks for anything PCRE2 related so that it checks for 0.50, which doesn't exist, instead of 0.48 to fool tilix into thinking the functionality is not available.
@gnunn1 Would tilix even compile on a system that doesn't have pcre2?
@f2404 It should because it doesn't use PCRE2 directly but only through the VTE methods.
@gnunn1 How is that a robust approach? 0.50 is going to exist in a few months from now, and chances are that Ubuntu is going to apply the same patches.
@f2404 yes! and we can install PCRE2 in Ubuntu anyway
It should because it doesn't use PCRE2 directly but only through the VTE methods.
Speaking of which... a few months ago I took a quick look at the patch Ubuntu was about to apply, and I didn't spot any API-related change. Apparently I missed something. Do you know what did I miss, what is the exact bit on which Tilix is failing? (I'm not that familiar with VTE's mainstream regex-related changes, nor what Ubuntu is doing.)
@egmontkob, it's not robust and it's not meant to be. It's just a workaround for someone who wants to compile it manually. I'm not very interested in adding a more permanent workaround for a poor decision.
If Ubuntu wants to fix it with a flag they can submit a PR.
@egmontkob The problem is that the VTE still reports itself as version 0.48. Tilix checks the version number and if it is => 0.46 it uses the PCRE2 functionality in VTE since it is expected to be there.
Now in fairness, tilix should not crap out when it fails and I'll have a look at improving that. However, I'm not willing to do more since Ubuntu is essentially subverting the point of having a version and being able to check it to accurately determine the features that are available. It's not a pattern I want to encourage.
@gnunn1 Really nitpicking, but in that case I think the workaround shouldn't be replacing the ">= 0.46" condition by ">= 0.50" (and then you'd have to keep your wiki updated after every new major version where Ubuntu still f*cks it up), but rather a constant false expression.
@egmontkob Yep it's a shit workaround but really 0.50 was just an example, pick 0.90 or something else that won't come into play anytime soon. The point is I'm not lifting a finger to provide a proper workaround, if Ubuntu wants to make decisions like this then it's their responsibility to fix it.
If they (or someone else) want to do a proper workaround I'm happy to take a PR.
@egmontkob And I'm realizing where some confusion is coming from. When I say workaround, I mean something that a developer would do on his machine to make it work if they want to compile it manually on Ubuntu. I'm not saying this is a workaround that would be checked into git, a more proper solution would be something like @f2404 suggestion of adding a PCRE2 flag.
Like I said, if someone wants to undertake that work and test it in Ubuntu I'm happy to take a PR for it. In the absence of that, updating the version number on your local version, for people who want to compile Tilix, is the only available solution at the moment.
I've checked in a change so that Tilix should run in Ubuntu's version of PCRE2, however no hyperlink's or search capability will be available.
@alex285 I don't think it's that common for people to compile tilix from source if it's already packaged in their distro. And if they can compile tilix from source, they can compile vte too if they want.
I have no intention of providing a different version of vte in Ubuntu or in a PPA.
I'm realizing where some confusion is coming from. When I say workaround, I mean something that a developer would do on his machine [...]
This was clear to me.
[...] however no hyperlink's or search capability will be available
Arghhh... I guess I liked the previous approach (no patch at all, just instructions how to patch) better.
Anyways... As I'm still lazy to comment on the Ubuntu bug, and I guess I'm out of here as well. There's really no good solution to this story, and it's not you who messed it up big time. So I'd rather not have a say in how you mitigate the problem. Thanks for the work you put in this, and I'm really sorry you have to waste your time on such craziness!
The same happened to xfce4-terminal in Artful: https://bugzilla.xfce.org/show_bug.cgi?id=13580
I just upgraded Tilix on Ubuntu 17.04 using the official PPA and am now getting this error.
Encountered the same issue with 1.5.8 updated from WebUpdate8 PPA on Ubuntu 17.04.
Building from source from tag 1.5.6 is working now for me.
I'm not sure what's going on in Ubuntu 17.04 because I'm not encountering this issue: http://i.imgur.com/TwiCEb5.png But assuming the issue is indeed the one in this bug report, I updated the PPA packages with a patch to work around this issue.
The patch fixes the issue in Ubuntu 17.10 but I can't test it in 17.04 since I'm not affected by this for some reason. So @tliron and @nobeh , can you please update Tilix to the latest version from the PPA (1.5.8-1~webupd8~zesty2
) and let me know if it works?
I'm not sure what's going on in Ubuntu 17.04 because I'm not encountering this issue
Ubuntu 17.04 is not affected because it has VTE < 0.46
@phw but it was reported by 4 Ubuntu 17.04 users so I don't get it...
@hotice I confirm that updating to 1.5.8-1~webupd8~zesty2
fixes the issue:
$ tilix --version
Versions
Tilix version: 1.5.8
VTE version: 0.48
GTK Version: 3.22.11
Tilix Special Features
Notifications enabled=0
Triggers enabled=0
Badges enabled=0
@nobeh great, thanks for the confirmation! But now I see why I wasn't affected. You somehow have a newer VTE version (or maybe you are actually using Ubuntu 17.10 and not 17.04)...
I think this clarifies why, because I am using GNOME staging PPA:
$ sudo apt-cache policy libvte-2.91-common
libvte-2.91-common:
Installed: 0.48.2-0ubuntu2~zesty1
Candidate: 0.48.2-0ubuntu2~zesty1
Version table:
*** 0.48.2-0ubuntu2~zesty1 500
500 http://ppa.launchpad.net/gnome3-team/gnome3-staging/ubuntu zesty/main amd64 Packages
500 http://ppa.launchpad.net/gnome3-team/gnome3-staging/ubuntu zesty/main i386 Packages
100 /var/lib/dpkg/status
0.44.2-1ubuntu3 500
500 http://nl3.archive.ubuntu.com/ubuntu zesty/main amd64 Packages
500 http://nl3.archive.ubuntu.com/ubuntu zesty/main i386 Packages
when in run Tilix glib.GException.GException@../../.dub/packages/gtk-d-3.5.1/gtk-d/src/glib/GException.d(40): PCRE2 not supported
Ubuntu 17.10 libvte-2.91-0 => 0.48.2