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
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
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
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
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.
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
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
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
It does take you away from it. In fact, the geolocation feature in
websites will probably not work (correctly) with it disabled.
Robert Kaiser
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
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
> 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.
> 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
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
> 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