Re: FreeBSD 4.6(ish) compilation

Carl Schmidt <[email protected]> Fri, 23 Aug 2002 11:52:45 -0400
Newsgroups gmane.network.wireless.bsd.airtools
Message-ID <[email protected]>
On Fri, Aug 23, 2002 at 10:49:50AM -0400, Jacob Frelinger wrote:
> On Mon, Aug 19, 2002 at 02:35:56PM +0930, Daniel O'Connor wrote:
> > I am trying to compile bsd-airtools on a 4.6-PRERELEASE system, I get
> > the following..
> > [chowder 14:34] ~/projects/bsd-airtools/dstumbler >./configure
> > 
> <SNIP>
> > gcc -Wall -I/usr/local/include -c main.c
> > In file included from main.c:54:
> > dstumbler.h:50: bat/common.h: No such file or directory
> > *** Error code 1
> > 
> > Stop in /usr/home/darius/projects/bsd-airtools/dstumbler.
> > 
> > 
> > Any hints?
> > I can't find common.h anywhere in the archive, nor in the patches
> > supplied - which I don't believe are necessary to apply to 4.6 as they
> > were merged in but I'm not 100% sure.
> 
> if you have a recient enough stable, the whole bsd-airtools has been
> added to the ports collection.  see /usr/ports/net/bsd-airtools/
> 
> otherwise you'll have to go though and replace all the #include
> <bat/common.h> with #include <dev/wi/if_wavelan_ieee.h>

This is incorrect.  The port only builds on -CURRENT because -CURRENT has the
/usr/include/dev/wi layout.  4.x does not have this layout therefore
common.h.in (source-mods/common/) must be used.  So you mv common.h.in to
common.h and you edit that file to include <machine/if_wavelan_ieee.h>,
which is where the header is located.  "common.h" is required on 4.x because
the header changes in -CURRENT have not made it to 4.x.  -CURRENT
if_wavelan_ieee.h saw an assimilation of the common.h file from bsd-airtools.

Or you can download http://slackerbsd.org/bsd-airtools.tgz which is
specifically setup for 4.x users and uses the familiar bsd-make layout used
in the FreeBSD source tree.  Building is simple, cd bsd-airtools && make all
then sudo or su to root and make install.  The default BINDIR (PREFIX to some
of you) is /usr/local/bin.  This can be edited in the top-level Makefile.inc.

The aforementioned tarball is specifically geared towards 4.x -- I say this
again so someone does not go and download it on OpenBSD or something and say
"poo this does not work".  You can make it work on OpenBSD though.  Just edit
include/common.h and change <machine/if_wavelan_ieee.h> to whatever it is that
OpenBSD is using.  I am not entirely familiar with the OpenBSD layout so I am
being naive here, there may be more involved.  Ditto for NetBSD.
FreeBSD-CURRENT you can just use the port in net/bsd-airtools.
-- 
Carl Schmidt
"A free people [claim] their rights as derived from the laws of nature, and
not as a gift of their magistrate." -- Thomas Jefferson: Rights of British
America, 1774. ME 1:209, Papers 1:134