1

I am using Ubuntu 17.04 and I am trying to compile gnome-terminal from source, but ./autogen.sh complains about vte:

configure: error: Package requirements (vte-2.91 >= 0.49.2
   glib-2.0 >= 2.42.0
   gio-2.0 >= 2.34.0
   gtk+-3.0 >= 3.12.0
   gsettings-desktop-schemas >= 0.1.0
   dconf >= 0.14.0
   uuid
   libpcre2-8 >= 10.00
    x11) were not met:

Requested 'vte-2.91 >= 0.49.2' but version of vte is 0.44.2

I if I check my installation for packages matching vte:

$ apt list --installed | grep vte
ir1.2-vte-2.91/zesty,now 0.44.2-1ubuntu3 amd64 [installed,automatic]
libvte-2.91-0/zesty,now 0.44.2-1ubuntu3 amd64 [installed,automatic]
libvte-2.91-common/zesty,zesty,now 0.44.2-1ubuntu3 all [installed,automatic]
libvte-2.91-dev/zesty,now 0.44.2-1ubuntu3 amd64 [installed]
libvte-2.91-doc/zesty,zesty,now 0.44.2-1ubuntu3 all [installed,automatic]
libvte-common/zesty,zesty,now 1:0.28.2-5ubuntu3 all [installed,automatic]
libvte-dev/zesty,now 1:0.28.2-5ubuntu3 amd64 [installed]
libvte-doc/zesty,zesty,now 1:0.28.2-5ubuntu3 all [installed,automatic]
libvte9/zesty,now 1:0.28.2-5ubuntu3 amd64 [installed,automatic]

and I can see that I have installed version 0.44.2 by querying the package status of libvte-2.91-dev:

$ dpkg -s libvte-2.91-dev | grep Version
Version: 0.44.2-1ubuntu3

Now, I have downloaded the latest version of vte 0.49.2 from GitHub.

How can I proceed to replace the installed version 0.44.2 with the downloaded version 0.49.2 so I can compile gnome-terminal? Can I just run (from the VTE source directory):

./autogen.sh
./configure
make
sudo make install

and it will magically work, or do I need to uninstall the existing version (and also its dependencies) first?

Edit:

I chose to install libvte to a custom folder instead (using --prefix option):

$ ./autogen.sh --prefix=/opt/vte --disable-introspection --disable-vala
$ make
$ sudo make install

But problem is now that autogen.sh in the gnome-terminal source directory still does not find the newly installed VTE. I tried running:

$ PKG_CONFIG_PATH=/opt/vte ./autogen.sh
[...]
Requested 'vte-2.91 >= 0.49.2' but version of vte is 0.44.2

What am I missing here?

Håkon Hægland
  • 3,973
  • 12
  • 46
  • 80
  • 1
    You can try it but you might also break Ubuntu. – Panther Jul 14 '17 at 19:12
  • I tried to install libvte in a custom folder instead (see my updated question), but it still does not work.. – Håkon Hægland Jul 14 '17 at 19:32
  • You need the -dev package of each missing dependency installed. Sometimes there's a lib prefix, and the numbers might also differ from the ones reported in the error. Use some heuristics and TAB completion after sudo apt install. E.g. for glib-2.0 you'll need to install libglib2.0-dev, for gtk+-3.0 install libgtk-3-dev, for uuid install uuid-dev and so on. – egmont Jul 16 '17 at 20:22
  • 1
    @egmont Thanks! I managed to find the missing packages, see my answer below. – Håkon Hægland Jul 17 '17 at 07:11

1 Answers1

1

I finally managed to compile gnome-terminal from source on Ubuntu 17.04. For reference, here is the recipe that worked for me:

  • Install Ubuntu packages:

    sudo apt get install \
    intltool libpcre2-dev libdconf-dev uuid-dev libglib2.0-dev \
    libgtk-3-dev libgirepository1.0-dev libvala-0.34-dev valac yelp-tools \
    libnautilus-extension-dev gtk-doc-tools libpcre2-dev libgirepository1.0-dev \
    gnome-common gobject-introspection gsettings-desktop-schemas-dev
    
  • Install latest version of VTE (latest version not available as an Ubuntu package):

    Download VTE from GitHub, then in the source folder:

    ./autogen.sh --prefix=/opt/vte
    make
    sudo make install
    
  • Install gnome-terminal:

    First download gnome-terminal from GitHub, then in the source folder:

    PKG_CONFIG_PATH=/opt/vte/lib/pkgconfig ./autogen.sh \
    --disable-search-provider --prefix=/opt/gnome-terminal
    

    This will install gnome-terminal in /opt/gnome-terminal/bin/gnome-terminal

Håkon Hægland
  • 3,973
  • 12
  • 46
  • 80