Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Firefox Build Problem on Linux - iwlib.h missing

309 views
Skip to first unread message

Martin Packer

unread,
Jul 22, 2009, 3:19:54 PM7/22/09
to
I've happily been building Firefox from mozilla-central on Ubuntu Jaunty
for about 2 weeks, half a dozen or more successful builds so far.

This morning's build went fine. Now this evening's attempt yields an
error, saying "iwlib.h" is missing.

Can anyone corroborate this?

By the way I'm building my own in preparation to start contributing.
Anyone know a simple, not too time-consuming, area to start working in?
(Although I'm shedding a Windows laptop I'll be keeping an XP image
under VMWare so ought to be able to test in both Lin and Win.)


Thanks, Martin

Benjamin Smedberg

unread,
Jul 22, 2009, 3:47:49 PM7/22/09
to
On 7/22/09 3:19 PM, Martin Packer wrote:
> I've happily been building Firefox from mozilla-central on Ubuntu Jaunty
> for about 2 weeks, half a dozen or more successful builds so far.
>
> This morning's build went fine. Now this evening's attempt yields an
> error, saying "iwlib.h" is missing.
>
> Can anyone corroborate this?

Did you read the error message? It includes instructions for the package you
need to install on Fedora and Ubuntu...

> By the way I'm building my own in preparation to start contributing.
> Anyone know a simple, not too time-consuming, area to start working in?
> (Although I'm shedding a Windows laptop I'll be keeping an XP image
> under VMWare so ought to be able to test in both Lin and Win.)

I suggest starting out with one of the bugs marked "student-project":
https://bugzilla.mozilla.org/buglist.cgi?quicksearch=student-project%20@nobody

These projects are generally pretty well scoped for somebody starting out,
and there's usually a mentor ready to guide you through the process. It's
generally good to find a mentor before diving in too deep! If you're not
sure, come to irc.mozilla.org and ask in #education or #developers

--BDS

Martin Packer

unread,
Jul 22, 2009, 5:18:40 PM7/22/09
to

Thanks, yes I saw the message and installed the appropriate package for
Ubuntu. I'm actually wondering why the behaviour appeared to change
during the course of today.

And thanks for the "student-project" hint. And, yes, finding a mentor
would be a good idea.

Martin

Martin Packer

unread,
Jul 23, 2009, 4:14:28 AM7/23/09
to

I can confirm iwlib.h is in /usr/include. And it's entirely readable.

Because I don't entirely understand the build process I don't know at
what point iwlib.h is called out for. Nor what might have changed in
this area in the past 24 hours.

I'm loth to open a bug on this - until someone suggests we're in that
realm (rather than "user error").

I can't believe nobody else has built the linux version from scratch in
the past 24 hours. Even a "I've built it and it's fine" would be helpful
to me.

Thanks, Martin

Peter Weilbacher

unread,
Jul 23, 2009, 5:11:50 AM7/23/09
to
On 23.07.2009 10:14, Martin Packer wrote:
> I can't believe nobody else has built the linux version from scratch in
> the past 24 hours. Even a "I've built it and it's fine" would be helpful
> to me.

Linux versions are built all the time, see <http://tinderbox.mozilla.org/Firefox/>
so that would always be true. ;-) Usually, when it fails while running configure,
config.log gives the reason for the failure in more detail.

The reason that it didn't fail for you before Jul 22nd was probably this
checkin:
http://hg.mozilla.org/mozilla-central/rev/caa4e6ca1dbd
Note that since your first post there was another one which corrected the
name of the Ubuntu package:
http://hg.mozilla.org/mozilla-central/rev/35ecfeedac76

Peter.

Martin Packer

unread,
Jul 23, 2009, 5:35:23 AM7/23/09
to

Thanks Peter...

I have the correct message coming out - so obviously I'm pulling the
fixes OK. And I have the relevant package installed - libiw-dev.

The FINAL message in config.log is...

configure:21784: checking for iwlib.h

and then nothing more.

The message I get out suggests to specify --disable-necko-wifi but

1) I don't know how to do that. (See, I'm still learning.) :-)

2) Doesn't that take me away from a standard build?

Thanks, Martin

Martin Packer

unread,
Jul 23, 2009, 5:47:11 AM7/23/09
to

To answer my own Q1...

I added --disable-necko-wifi to .mozconfig.

But I still wonder about Q2. Wouldn't doing this make it no longer a
vanilla build? And seems odd given I DO have the package installed.

Martin

William L. Hartzell

unread,
Jul 23, 2009, 7:40:25 AM7/23/09
to
Check that the lib that goes with the header is on your machine and that
its location is in one of your include paths. Is that include the right
one for the library?
--
Bill
<Thanks, a Million>

Martin Packer

unread,
Jul 23, 2009, 7:52:43 AM7/23/09
to

Bill, iwlib.h is in /usr/include. Where in the setup should I be
specifying to look in there? And I'm wondering why we're failing on
JUST this one. Maybe because it's the first?

(And I now understand - from the 2 changes yesterday - why I suddenly
hit this problem. Well more or less.) :-)

Thanks, Martin

Robert Kaiser

unread,
Jul 23, 2009, 7:54:42 AM7/23/09
to
Martin Packer wrote:
> The message I get out suggests to specify --disable-necko-wifi but
>
> 1) I don't know how to do that. (See, I'm still learning.) :-)
>
> 2) Doesn't that take me away from a standard build?

It does take you away from it. In fact, the geolocation feature in
websites will probably not work (correctly) with it disabled.

Robert Kaiser

William L. Hartzell

unread,
Jul 23, 2009, 8:16:22 AM7/23/09
to
Martin Packer wrote:
> William L. Hartzell wrote:
<snip>vanilla build? And seems odd given I DO have the package installed.

>>>
>>> Martin
>> Check that the lib that goes with the header is on your machine and
>> that its location is in one of your include paths. Is that include
>> the right one for the library?
>> --
>> Bill
>> <Thanks, a Million>
>
> Bill, iwlib.h is in /usr/include. Where in the setup should I be
> specifying to look in there? And I'm wondering why we're failing on
> JUST this one. Maybe because it's the first?
>
> (And I now understand - from the 2 changes yesterday - why I suddenly
> hit this problem. Well more or less.) :-)
>
> Thanks, Martin
I assume that you should be looking in the shell script that sets up the
compiler. Is this a C file and is it, /usr/include/, in the
c_include_path or a C++, etc.?

William L. Hartzell

unread,
Jul 23, 2009, 8:21:07 AM7/23/09
to
Ah, I hate reply to my self... But what you should be finding would be
in /usr/lib or /share/lib.

Martin Packer

unread,
Jul 23, 2009, 8:32:29 AM7/23/09
to

Thanks. I suspected as much...

... And the main point of my building my own was to be able to
contribute. I don't know that geolocation is something I would actively
be involved in developing but I'd hate to think I couldn't at least test it.

Martin

Martin Packer

unread,
Jul 23, 2009, 8:39:30 AM7/23/09
to

When installing the package Synaptic stuck the files here:

/.
/usr
/usr/lib
/usr/lib/libiw.a
/usr/include
/usr/include/iwlib.h
/usr/include/wireless.h
/usr/share
/usr/share/doc
/usr/share/doc/libiw-dev
/usr/share/doc/libiw-dev/copyright
/usr/share/doc/libiw-dev/changelog.gz
/usr/share/doc/libiw-dev/README.gz
/usr/share/doc/libiw-dev/changelog.Debian.gz
/usr/lib/libiw.so

I guess only iwlib.h and libiw.so are the ones that matter. (And, yes,
it is confusing to have iwlib.h and libiw.so in the same package - which
probably caused the misfire of the first fix yesterday.)

Martin

Peter Weilbacher

unread,
Jul 23, 2009, 9:24:54 AM7/23/09
to
On 23.07.2009 11:35, Martin Packer wrote:

> I have the correct message coming out - so obviously I'm pulling the
> fixes OK. And I have the relevant package installed - libiw-dev.
>
> The FINAL message in config.log is...
>
> configure:21784: checking for iwlib.h

Then it succeeded?! Are you maybe looking at a wrong config.log?
I just changed configure.in to contain iwlib222.h (to make it fail)
and got this in config.log:

configure:21783: checking for iwlib222.h
configure:21793: gcc -E conftest.c >/dev/null 2>conftest.out
configure:21789:22: error: iwlib222.h: No such file or directory
configure: failed program was:
#line 21788 "configure"
#include "confdefs.h"
#include <iwlib222.h>

(As one can see, the libs that belong to the same package do _not_ get
checked.) Using this info you can reproduce any failure from the same shell
that you used to kick off the build.

Peter.

P.S.: You could just start to look at bugs you want to fix, and revisit
this problem later, if you happen to like the wifi/geolocation
area of the code.

Benjamin Smedberg

unread,
Jul 23, 2009, 9:38:21 AM7/23/09
to
On 7/23/09 4:14 AM, Martin Packer wrote:

> I can confirm iwlib.h is in /usr/include. And it's entirely readable.

It's possible that the configure system has cached the 'fact' that iwlib.h
cannot be found. Remove config.cache and configure again...

> I can't believe nobody else has built the linux version from scratch in
> the past 24 hours. Even a "I've built it and it's fine" would be helpful
> to me.

Certainly many many people have built it in the past 24 hours ;-)

--BDS

Martin Packer

unread,
Jul 23, 2009, 9:54:32 AM7/23/09
to

That was it... Deleting config.cache and removing --disable-necko-wifi
got me building again. (As I said I DID get Synaptic to install the
missing package, freshly revealed by yesterday's changes.)

I'll make a note of the "delete config.cache" tip.

Now to pick on something to work on, starting with the "student-project"
tip.

Thanks to everyone who persisted with me. I HOPE it turns out to have
been a useful investment: With 31 years of computers (including 24 as an
IBM mainframe performance consultant) and lots of programming experience
I hope I can contribute effectively to the community.

Martin

William L. Hartzell

unread,
Jul 23, 2009, 8:10:52 PM7/23/09
to
Excuse me, but I not a Linux expert. On Windows & OS/2 the files have
extensions of h, lib, and dll. I believe on Linux, those extension
would be h, a, so resp. So the file that needs to be in the include
path is libiw.a, that is the linkable file that forwards to the so file.

Benjamin Smedberg

unread,
Jul 23, 2009, 11:25:42 PM7/23/09
to
On 7/23/09 8:10 PM, William L. Hartzell wrote:

> Excuse me, but I not a Linux expert. On Windows & OS/2 the files have
> extensions of h, lib, and dll. I believe on Linux, those extension
> would be h, a, so resp. So the file that needs to be in the include
> path is libiw.a, that is the linkable file that forwards to the so file.

You are incorrect. On ELF systems there is not a separate import library and
dynamic library, there is only a dynamic library with extension .so.

.a files are Linux are static libraries (archives) and have nothing to do
with dynamic linking.

--BDS

William L. Hartzell

unread,
Jul 24, 2009, 4:18:27 AM7/24/09
to
Thanks for informing what is what.
0 new messages