Navit FTBFS - cmake fix needed to work with newer pango

Bug #1855993 reported by Christian Ehrhardt 
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
cmake (Ubuntu)
Fix Released
Undecided
Rik Mills
navit (Ubuntu)
Fix Released
Undecided
Christian Ehrhardt 
pango1.0 (Ubuntu)
Won't Fix
Undecided
Unassigned

Bug Description

## Cmake ##

A change in Pango [1] broke builds using GTK2 as the pango source will include hb.h but miss the proper include paths.

A fix was brought up in [2] and should be added to cmake in Focal to allow things to build with the new pango.

Focal currently is at cmake 3.15.4-1 and [3] is a backport of that change to the 3.15 series.

Note: after that is resolved navit will need a no change rebuild to pick up libgpsd25 which got me initially to find this issue.

[1]: https://gitlab.gnome.org/GNOME/pango/commit/a7b17aa2bad77c485943c860a20aedc2b2b115ff
[2]: https://gitlab.kitware.com/cmake/cmake/issues/19531
[3]: https://gitlab.kitware.com/cmake/cmake/commit/e4b1b79abb2b6e1ad07d36d4734554972c9ce4a9

--- original report ---

## Navit ##

In file included from /usr/include/pango-1.0/pango/pango-font.h:25,
                 from /usr/include/pango-1.0/pango/pango-attributes.h:25,
                 from /usr/include/pango-1.0/pango/pango.h:25,
                 from /usr/include/gtk-2.0/gdk/gdktypes.h:37,
                 from /usr/include/gtk-2.0/gdk/gdkscreen.h:32,
                 from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:31,
                 from /usr/include/gtk-2.0/gdk/gdk.h:32,
                 from /usr/include/gtk-2.0/gtk/gtk.h:32,
                 from /<<BUILDDIR>>/navit-0.5.3+dfsg.1/navit/graphics/gtk_drawing_area/graphics_gtk_drawing_area.c:26:
/usr/include/pango-1.0/pango/pango-coverage.h:28:10: fatal error: hb.h: No such file or directory
   28 | #include <hb.h>
      | ^~~~~~
compilation terminated.

In file included from /usr/include/pango-1.0/pango/pango-font.h:25,
                 from /usr/include/pango-1.0/pango/pango-attributes.h:25,
                 from /usr/include/pango-1.0/pango/pango.h:25,
                 from /usr/include/gtk-2.0/gdk/gdktypes.h:37,
                 from /usr/include/gtk-2.0/gdk/gdkscreen.h:32,
                 from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:31,
                 from /usr/include/gtk-2.0/gdk/gdk.h:32,
                 from /usr/include/gtk-2.0/gtk/gtk.h:32,
                 from /<<BUILDDIR>>/navit-0.5.3+dfsg.1/navit/gui/gtk/datawindow.c:24:
/usr/include/pango-1.0/pango/pango-coverage.h:28:10: fatal error: hb.h: No such file or directory
   28 | #include <hb.h>
      | ^~~~~~
compilation terminated.

These are from no change rebuilds needed for libgps25, but something else made them break.

Related branches

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

navit actually just naively includes <gtk/gtk.h> and the error pups up much below that.

It has #define GDK_ENABLE_BROKEN might that be related?

Build dep is:
  libgtk2.0-dev
Which brings in:
 libpango1.0-dev | 1.44.7-1 | focal | amd64, arm64, armhf, i386, ppc64el, s390x

And that has the failing include:
grep -Hn hb.h /usr/include/pango-1.0/pango/pango-coverage.h
/usr/include/pango-1.0/pango/pango-coverage.h:28:#include <hb.h>

The only occurrence of that is in:
$ apt-file search 'hb.h' | grep -e '/hb\.h$'
libharfbuzz-dev: /usr/include/harfbuzz/hb.h
thunderbird-dev: /usr/include/thunderbird/harfbuzz/hb.h

Odd, did it really want that one ...?

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Added a pango1.0 task for awareness

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

navit last time built fine in Eoan on 2019-09-10

Comparing the environments between late Eoan and Focal...

The Eoan version of pango-coverage.h doesn't have the include that is failing me.

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

#ubuntu-desktop was helpful:

[11:29] <seb128> cpaelzer, hey, it's https://gitlab.kitware.com/cmake/cmake/issues/19531
[11:29] <seb128> RikMills, ^
[11:29] <seb128> cpaelzer, we talked about it on friday on #ubuntu-release, we should backport that patch to cmake

Changed in cmake (Ubuntu):
assignee: nobody → Rik Mills (rikmills)
status: New → Triaged
description: updated
description: updated
summary: - FTBFS in focal blocking gpsd transition for libgps25
+ Navit FTBFS - cmake fix needed to work with newer pango
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

I'm preparing an interim fix for navit to get out of the way of this and less dependent on the cmake fix. We can revert that once cmake is up to date.

But sooner or later this should probably be fixed in cmake either with a backport or a move to the 3.16 version that has the change anyway.

Changed in pango1.0 (Ubuntu):
status: New → Won't Fix
Changed in navit (Ubuntu):
status: New → Triaged
assignee: nobody → Christian Ehrhardt  (paelzer)
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package navit - 0.5.3+dfsg.1-2ubuntu1

---------------
navit (0.5.3+dfsg.1-2ubuntu1) focal; urgency=medium

  * d/rules: until resolved in cmake append the harfbuzz include directory
    directly to fix FTBFS (LP: #1855993)

 -- Christian Ehrhardt <email address hidden> Wed, 11 Dec 2019 12:03:05 +0100

Changed in navit (Ubuntu):
status: Triaged → Fix Released
Changed in cmake (Ubuntu):
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.