Unable to build Firefox: gio/gunixfdlist.h not found.

RESOLVED FIXED in Firefox 62

Status

()

enhancement
RESOLVED FIXED
Last year
Last year

People

(Reporter: nbp, Assigned: nbp)

Tracking

unspecified
mozilla62
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox62 fixed)

Details

Attachments

(1 attachment)

Bug 1411589 introduced a use of gio/gunixfdlist.h header, which is not pulled by pkg-config on NixOS [1].
I double checked that gio-unix-2.0 is part of the dependencies provided to the build environment.

// Configure log.
checking for gtk+-3.0 >= 3.4.0 gtk+-unix-print-3.0 glib-2.0 gobject-2.0 ... yes
checking MOZ_GTK3_CFLAGS...
  -I<...>/glib-2.56.0-dev/include/glib-2.0
  -I<...>/glib-2.56.0/lib/glib-2.0/include
  -I<...>/cairo-1.14.10-dev/include/cairo
  -I<...>/freetype-2.7.1-dev/include/freetype2
  -I<...>/freetype-2.7.1-dev/include
  -I<...>/pango-1.40.14-dev/include/pango-1.0
  -I<...>/gdk-pixbuf-2.36.7-dev/include/gdk-pixbuf-2.0
  -I<...>/atk-2.28.1-dev/include/atk-1.0
  -I<...>/gtk+3-3.22.29-dev/include/gtk-3.0/unix-print
  -I<...>/gtk+3-3.22.29-dev/include/gtk-3.0
checking MOZ_GTK3_LIBS...
  -L<...>/glib-2.56.0/lib
  -L<...>/cairo-1.14.10/lib
  -L<...>/pango-1.40.14/lib
  -L<...>/gdk-pixbuf-2.36.7/lib
  -L<...>/atk-2.28.1/lib
  -L<...>/gtk+3-3.22.29/lib
  … -lgio-2.0 …
checking for gtk+-2.0 >= 2.18.0 gtk+-unix-print-2.0 glib-2.0 >= 2.22 gobject-2.0 gdk-x11-2.0... yes
checking MOZ_GTK2_CFLAGS...
  -I<...>/glib-2.56.0-dev/include/glib-2.0
  -I<...>/glib-2.56.0/lib/glib-2.0/include
  -I<...>/gtk+-2.24.32-dev/include/gtk-2.0
  -I<...>/gtk+-2.24.32-dev/include/gtk-unix-print-2.0
  -I<...>/gtk+-2.24.32-dev/include/gtk-2.0
  -I<...>/gtk+-2.24.32/lib/gtk-2.0/include
  -I<...>/cairo-1.14.10-dev/include/cairo
  -I<...>/freetype-2.7.1-dev/include/freetype2
  -I<...>/freetype-2.7.1-dev/include
  -I<...>/fontconfig-2.12.1-dev/include
  -I<...>/expat-2.2.5-dev/include
  -I<...>/freetype-2.7.1-dev/include/freetype2
  -I<...>/pango-1.40.14-dev/include/pango-1.0
  -I<...>/gdk-pixbuf-2.36.7-dev/include/gdk-pixbuf-2.0
  -I<...>/atk-2.28.1-dev/include/atk-1.0
checking MOZ_GTK2_LIBS...
  … -lgio-2.0 …

// Testing manually.
$ pkg-config --cflags gio-unix-2.0
  -I<...>/glib-2.56.0-dev/include/gio-unix-2.0/
  -I<...>/glib-2.56.0-dev/include/glib-2.0
  -I<...>/glib-2.56.0/lib/glib-2.0/include

Should we add gio-unix-2.0 as part of the list of phg-config packages in old-configure.in ?

[1] https://github.com/mozilla/nixpkgs-mozilla/blob/master/firefox-overlay.nix#L139
One option would be to add gio-unix in the list of packages of old-configure.in, another option would be to remove these extra headers and use some wrapper function provided by the packages that we already use.

Which way would you recommend?
Flags: needinfo?(jhorak)
The gio/gunixfdlist.h is required for the GUnixFDList struct. This structure is converted to GVariant (required for Dbus interface) quite easily. I can try to change the code to avoid using GUnixFDList, but I rather prefer the first option. Could you please make a patch for it since I don't have access to the affected system?
Flags: needinfo?(jhorak)
Comment on attachment 8971175 [details] [diff] [review]
Add gio-unix as part of the list of GTK dependencies.

Sorry, I can't do review for this part, let's ask Mike.
Attachment #8971175 - Flags: review?(jhorak) → review?(mh+mozilla)
Attachment #8971175 - Flags: review?(mh+mozilla) → review+
Pushed by npierron@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/eac1b2073bf4
Add gio-unix as part of the list of GTK dependencies. r=glandium
https://hg.mozilla.org/mozilla-central/rev/eac1b2073bf4
Status: NEW → RESOLVED
Closed: Last year
Resolution: --- → FIXED
Target Milestone: --- → mozilla62
Assignee: nobody → nicolas.b.pierron
You need to log in before you can comment on or make changes to this bug.