make buildworld issue on 6.2 stable

Shaun Branden shaun at pcuse.com
Fri May 25 09:36:39 UTC 2007


On Fri, May 25, 2007 at 12:28:18PM +0400, Ruslan Ermilov wrote:
> On Fri, May 25, 2007 at 12:07:10PM +0930, Shaun Branden wrote:
 
> IEEE80211_IS_CHAN_PASSIVE() is a macro defined in
> src/sys/net80211/_ieee80211.h.  Check that you have an up-to-date
> copy of that file in /usr/src.  If you have it and still get the
> error, "rm -rf /usr/obj/usr/src" first, then try to build world
> again.

Thanks for that

The file is there:
shaun at sagan:net80211$ pwd
/usr/src/sys/net80211
You have mail in /var/mail/shaun
shaun at sagan:net80211$ ls -l _ieee80211.h
-rw-r--r--  1 root  wheel  8181 Jan 28 14:37 _ieee80211.h

and this is from my history:
489   cvsup -g ~shaun/cvs/stable-supfile 
490  cd /usr/obj
491  rm -rf *
492  chflags -R noschg *
493  rm -rf *
494  cd /usr/src

I just ran these again, ie !489, !490 etc with make buildworld at the
end and got the same result.

...

ifconfig.lo(.text+0x4df8): In function `print_chaninfo':
: undefined reference to `IEEE80211_IS_CHAN_PASSIVE'
*** Error code 1

Stop in /usr/obj/usr/src/rescue/rescue.
*** Error code 1

Stop in /usr/src/rescue/rescue.
*** Error code 1

Stop in /usr/src/rescue.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
root at sagan:src$ 

Also, I usually use the following script to do all this, but started
running the commands interactively after it failed the first time. As
you can see it removes the /usr/obj before running make buildworld.

#!/usr/local/bin/bash
# Copyright (c) June 2002 Shaun Branden <shaun at pcuse.com>.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.

SUPFILE="/home/shaun/cvs/stable-supfile"
KERN="SAGAN"
#KERN="GENERICNEW"

if [ -z $1 ]
then
	echo "Usage: `basename $0` {-a(ll includes cvs)|-m(ost)}" >&2
	exit 42
fi

if [ "$UID" != "0" ]
then
	echo "You do not have permission to use this script"
	exit 42
fi

docvs ()
{
echo "updating cvs"
cvsup -g $SUPFILE
if [ $? -ne "0" ]
then
	echo "cvs failed, perhaps we are offline"
	exit 42
fi
}

#remove the working files from last time
doremove ()
{
echo "Removing old /usr/obj:"
cd /usr/obj
if [ $? -eq "0" ]
then
	rm -rf *
	chflags -R noschg *
	rm -rf *
else
	echo "Did not change to /usr/obj so rm -rf not run"
	exit 42
fi
}

#compiles all system sources
dobuild ()
{
echo "Compiling the sources:"
cd /usr/src
make buildworld
if [ $? -ne "0" ]
then
	echo "make buildworld failed, exiting"
	exit 42
fi
}

#compile and installs the kernel
dokernel ()
{
echo "Compiling the kernel called $KERN "
echo "running make buildkernel"
make buildkernel KERNCONF=$KERN
if [ $? -ne "0" ]
then
	echo "make buildkernel failed, exiting"
	exit 42
fi
echo "running make installkernel"
make installkernel KERNCONF=$KERN
if [ $? -ne "0" ]
then
	echo "make installkernel failed, exiting"
	exit 42
fi
}

#installs new system
doinstall ()
{
#install it all
echo "running make installworld"
make installworld
if [ $? -ne "0" ]
then
	echo "ERROR: make installworld failed, exiting"
	exit 42
fi
}

#Now run Mergemaster, this will also run MAKEDEV"
domerge ()
{
echo "Would you like me to run mergemaster? (y/n)"
read answer
if [ $answer = "y" ]
then
	cp -Rp /etc /etc.old
	mergemaster
	if [ $? -ne "0" ]
	then
		echo "make installkernel failed, exiting"
		exit 42
	fi
else
	echo "Run cp -Rp /etc /etc.old
	mergemaster
	manually"
	exit
fi
}

#calls from here
case "$1" in
-a)
	docvs
	doremove
	dobuild
	dokernel
	doinstall
	domerge
	;;
-m)
	doremove
	dobuild
	dokernel
	doinstall
	domerge
	;;
*)
echo "Usage: `basename $0` {-a(ll includes cvs)|-m(ost)}" >&2
	;;
esac
echo "Now that mergemaster is complete you can reboot to the new system:)"

thanks

shaun
-- 
Shaun Branden: Alchemist and Bit Bender
PGP and contact details in the headers.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20070525/bbb77c66/attachment.pgp


More information about the freebsd-stable mailing list