bugzilla.mozilla.org will be intermittently unavailable on Saturday, March 24th, from 16:00 until 20:00 UTC.

Automated tests silently fail when gconf2-devel is not present on a linux system.

RESOLVED FIXED in Firefox 41


Firefox Build System
3 years ago
19 days ago


(Reporter: Benjamin Smedberg, Assigned: Benjamin Smedberg)



Firefox Tracking Flags

(firefox41 fixed)



(1 attachment)



3 years ago
If a linux system doesn't have the gconf2 -devel package, the build will silently disable gconf2.

This has the side effect of breaking a shit-ton of tests, because our typical check for "are we running on Linux" is:

  let isLinux = ("@mozilla.org/gnome-gconf-service;1" in Cc);

The patch I will attach here will make the lack of gconf2-devel a fatal error by default: builders can still --disable-gconf, and in that case configure will issue a warning about failing tests.
Yeah, we definitely shouldn't disable functionality silently. As to the isLinux thing, we should fix bug 1150818 and let tests use mozinfo instead of horrible checks like that. :-/

Comment 2

3 years ago
Created attachment 8608818 [details] [diff] [review]
Assignee: nobody → benjamin
Attachment #8608818 - Flags: review?(mh+mozilla)
(In reply to Benjamin Smedberg  [:bsmedberg] from comment #0)
>   let isLinux = ("@mozilla.org/gnome-gconf-service;1" in Cc);

That's interesting, because that's not what the typical check looked like a while ago iirc. But why not fix that instead? 
@mozilla.org/gio-service;1 would be a better one, as it's always there.
Specifically, even if you do build with --enable-gconf, you can still not have the gconf service at run time.
Comment on attachment 8608818 [details] [diff] [review]

Review of attachment 8608818 [details] [diff] [review]:

::: configure.in
@@ +4780,4 @@
>              then
>                  AC_MSG_ERROR([* * * Could not find gconf-2.0 ])
> +            else
> +                AC_MSG_WARN([Many automated tests will fail with --disable-gconf. See bug 1167201.])

I don't think this message is very useful, but meh.

Anyways, I do agree that auto-disable is not good, and we should remove them when we see one, but cf. my previous comments, those broken test checks should be fixed independently of that.
Attachment #8608818 - Flags: review?(mh+mozilla) → review+

Comment 7

3 years ago
Filed bug 1167627 for really fixing isLinux.
Last Resolved: 3 years ago
status-firefox41: --- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla41
This broke builds for me on Fedora 21:
0:12.38 configure: error: * * * Could not find gconf-2.0

Fix is easy:
sudo yum install GConf2-devel

But this should at least get added to the MDN build prerequisites and |mach bootstrap|.


3 years ago
Depends on: 1168861

Comment 10

3 years ago
Can I ask you to fix the build docs? I'm not sure which ones exist nowadays.

I've filed bug 1168861 for the bootstrap fixup, which should be easy.
Sure, I added it to the Red Hat/Fedora section of:

Is this likely to affect other distros? I'm not sure what package is (may be) needed elsewhere.

Comment 12

3 years ago
Yes, I also encountered the "Could not find gconf-2.0" error message when building Firefox OS on Ubuntu 14.04.

It can be fixed by:
sudo apt-get install libgconf2-dev
How does one build FF on Fedora22 then? It doesn't have Gconf2-devel

Comment 15

3 years ago
What does it have instead?

You can --disable-gconf but that will run into the original problem of tests failing and other weirdness.
(In reply to Olli Pettay [:smaug] from comment #14)
> How does one build FF on Fedora22 then? It doesn't have Gconf2-devel

| sudo dnf install Gconf2-devel | works for me on a newly installed Fedora 22 Workstation installation.
Sorry for the extra bugspam, that should be | sudo dnf install GConf2-devel | (it's apparently case-sensitive, so big 'C' is needed).


19 days ago
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.