Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PCRE2 not supported in Ubuntu 17.10 #916

Closed
alex285 opened this issue May 7, 2017 · 78 comments
Closed

PCRE2 not supported in Ubuntu 17.10 #916

alex285 opened this issue May 7, 2017 · 78 comments

Comments

@alex285
Copy link
Contributor

alex285 commented May 7, 2017

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

@gnunn1
Copy link
Owner

gnunn1 commented May 7, 2017

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.

@alex285
Copy link
Contributor Author

alex285 commented May 7, 2017

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

@gnunn1
Copy link
Owner

gnunn1 commented May 7, 2017

Do you have any custom hyperlinks?

Also what does tilix --version show?

@alex285
Copy link
Contributor Author

alex285 commented May 8, 2017

@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

@gnunn1
Copy link
Owner

gnunn1 commented May 8, 2017

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.

@egmontkob
Copy link

egmontkob commented May 8, 2017

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...

@egmontkob
Copy link

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? ...

@gnunn1
Copy link
Owner

gnunn1 commented May 8, 2017

Thanks for the heads up @egmontkob, I've added a comment to the bug report. Seems like a very poor decision IMHO.

@jbicha
Copy link
Contributor

jbicha commented May 8, 2017

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.

@gnunn1
Copy link
Owner

gnunn1 commented May 8, 2017

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.

@jbicha
Copy link
Contributor

jbicha commented May 8, 2017

Ubuntu's gnome-builder has the PCRE2 stuff patched out.

webupd8's PPA would have to grab the Ubuntu patch.

Like I said, Ubuntu won't patch vte like this forever. The real issue isn't 1666264 but 1636666 and the solution to that second bug is for more stuff in main to switch to PCRE2.

@gnunn1
Copy link
Owner

gnunn1 commented May 8, 2017

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.

@jbicha
Copy link
Contributor

jbicha commented May 8, 2017

@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.

@gnunn1
Copy link
Owner

gnunn1 commented May 8, 2017

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.

@alex285
Copy link
Contributor Author

alex285 commented May 8, 2017

@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]?

@f2404
Copy link
Contributor

f2404 commented May 8, 2017

@alex285 Arch is not even shipping tilix, why would it ship tilix-vte?

@alex285
Copy link
Contributor Author

alex285 commented May 8, 2017

@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]?

@f2404
Copy link
Contributor

f2404 commented May 8, 2017

@alex285 In fact, @dsboger is already providing some patched vte packages via AUR: one, two
I guess those may be adopted to Arch [extra] repo along with tilix itself if (when) they decide to take it.

@gnunn1
Copy link
Owner

gnunn1 commented May 8, 2017

@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.

@gnunn1
Copy link
Owner

gnunn1 commented May 9, 2017

I'm closing this since IMHo it's an Ubuntu issue and up to them to deal with it.

@gnunn1 gnunn1 closed this as completed May 9, 2017
@alex285
Copy link
Contributor Author

alex285 commented May 9, 2017

@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?

@gnunn1
Copy link
Owner

gnunn1 commented May 9, 2017

@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 gnunn1 changed the title PCRE2 not supported PCRE2 not supported in Ubuntu 17.10 May 9, 2017
@alex285
Copy link
Contributor Author

alex285 commented May 9, 2017

@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?

@egmontkob
Copy link

IMO wipe out artful's braindamagedly patched vte and install a mainstream one :)

@f2404
Copy link
Contributor

f2404 commented May 9, 2017

@alex285 Use Arch ;)

@alex285
Copy link
Contributor Author

alex285 commented May 9, 2017

@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

@brisssou
Copy link

so I need to build tilix from the sources?

@jbicha
Copy link
Contributor

jbicha commented Oct 19, 2017

Yes, or just stick with the version of tilix in Ubuntu or maybe someone will make a Snap or a Flatpak or a PPA you could use.

@brisssou
Copy link

ok cool. Thanks for the clarification.

@gsemet
Copy link

gsemet commented Apr 8, 2018

Hello. I see this issue for Guake on 17.10. What a shame, I hope they reenabled PCRE2 on 18.04

@arigit
Copy link

arigit commented Aug 22, 2018

@jbicha recently returned to ubuntu with 18.04.1 and noticed the journal polluted by these errors, using the official ubuntu tilix:

Package: tilix
Version: 1.7.7-1ubuntu2
Priority: optional
Section: universe/gnome
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>

In the journal:

(../../src/vtegtk.cc:1906):int vte_terminal_match_add_gregex(VteTerminal*, GRegex*, GRegexMatchFlags): runtime check failed: (g_regex_get_compile_flags(gregex) & G_REGEX_MULTILINE)

Is this supposed to be patched by ubuntu devs?

@nobeh also tried tilix from the webupd8 PPA, the version got upgraded to

Package: tilix
Version: 1.8.3-1~webupd8~bionic0
Priority: optional
Section: gnome

However the issue persists, even after a reboot. Were you able to work around this problem?

@nobeh
Copy link

nobeh commented Aug 22, 2018

@arigit On Ubuntu 18.04+, I managed to use the following PPA with a working tilix, use at your own risk ⚠️

https://launchpad.net/~nilarimogard/+archive/ubuntu/test4

@stuaxo
Copy link

stuaxo commented Sep 11, 2018

My installed version works (I guess I got it from apt) - but just tried building and seemed to hit this:

 ./tilix 
glib.GException.GException@../../../.dub/packages/gtk-d-3.8.3/gtk-d/generated/gtkd/glib/GException.d(41): PCRE2 not supported

@bilelmoussaoui
Copy link
Contributor

@stuaxo Please read this #916 (comment)

@stuaxo
Copy link

stuaxo commented Sep 11, 2018

Cheers - looks like Ubuntu isn't going to sort this any time soon, is building Tilix as a flatpak worth a go instead ?

@bilelmoussaoui
Copy link
Contributor

It's a work on progress. The flatpak works already but it crashes from time to time. Few things need to be improved first before getting a fully workig terminal. Then, you will be able to get the latest release easily

@FFY00
Copy link

FFY00 commented Sep 11, 2018

You can just use dub to compile this and then install the final binary.

@stuaxo
Copy link

stuaxo commented Sep 11, 2018

I did use dub to build this, but I hadn't installed it yet, since tilix is my main terminal emulator, and running this gives the error above.

@egmontkob
Copy link

FYI

Ubuntu has finally dropped their pcre revert nightmare. For dingo onwards they'll go with pcre2.

http://changelogs.ubuntu.com/changelogs/pool/main/v/vte2.91/vte2.91_0.54.2-2ubuntu2/changelog
https://bugs.launchpad.net/ubuntu/+source/gnome-terminal/+bug/1666264
https://bugs.launchpad.net/ubuntu/+source/pcre3/+bug/1792544

@gnunn1
Copy link
Owner

gnunn1 commented Jan 23, 2019

Awesome, thanks for the heads up.

@egmontkob
Copy link

Oh wait... they've dropped it from vte, but not yet from Tilix. Let's hope they'll fix it in time.

@benjamin-rood
Copy link

Might I suggest adding the ppa to the readme, for those who want to install a more up-to-date version of Tilix?

sudo add-apt-repository ppa:webupd8team/terminix
sudo apt-get update

I could do a PR with that addition to the README if you want?

You've made a brilliant terminal emulator, the only one I like on Linux. Thank you, and I'm sorry that you're having to deal with this silliness from Ubuntu.

lanoxx added a commit to lanoxx/tilda that referenced this issue Jan 6, 2020
This patch replaces the deprecated VTE search functions
based on GRegex with the newer VteRegex-based functions
that use PCRE2.

This patch breaks on Ubuntu 18.04 and 18.10 which have
the required VTE version above 0.46. The reason is that
Ubuntu has patched PCRE2 out of VTE.

The following links provide additional information on
this matter:

* #399
* gnunn1/tilix#916
* https://bugs.launchpad.net/ubuntu/+source/gnome-terminal/+bug/1666264
lanoxx added a commit to lanoxx/tilda that referenced this issue Jan 6, 2020
This patch replaces the deprecated VTE search functions
based on GRegex with the newer VteRegex-based functions
that use PCRE2.

This patch breaks on Ubuntu 18.04 and 18.10 which have
the required VTE version above 0.46. The reason is that
Ubuntu has patched PCRE2 out of VTE.

The following links provide additional information on
this matter:

* #399
* gnunn1/tilix#916
* https://bugs.launchpad.net/ubuntu/+source/gnome-terminal/+bug/1666264
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests