Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 12 Sep 2006 16:15:14 +0400
From:      Ruslan Ermilov <ru@freebsd.org>
To:        "[LoN]Kamikaze" <LoN_Kamikaze@gmx.de>
Cc:        freebsd-stable@freebsd.org
Subject:   Re: Releng_6 suddenly no longer -j safe
Message-ID:  <20060912121513.GA31799@rambler-co.ru>
In-Reply-To: <45069FB8.3030704@gmx.de>
References:  <45069FB8.3030704@gmx.de>

next in thread | previous in thread | raw e-mail | index | archive | help

--Dxnq1zWXvFF0Q93v
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, Sep 12, 2006 at 01:53:28PM +0200, [LoN]Kamikaze wrote:
> Last time I built a kernel on Releng_6 (only a couple of days ago)
> everything was fine with "-j 4".
> Now buildkernel stops, this is an example:
>=20
> =3D=3D=3D> sound/driver/als4000 (depend)
> awk -f @/tools/makeobjops.awk @/kern/device_if.m -h
> machine -> /usr/src/sys/i386/include
> awk: can't open file @/tools/makeobjops.awk
>  source line number 1 source file @/tools/makeobjops.awk
>  context is
> 	>>>   <<<
> *** Error code 2
> @ -> /usr/src/sys
> 1 error
> ...
>=20
> Where it stops is random (I suppose it sometimes is accidentally
> built in the right order), but the error is always similar.
>=20
This puzzled me for a while, since kmod.mk has mechanisms that
try to ensure `@' is built before it's accessed.  What the
implementation is missing is anti-footshooting measures.  I bet
your /usr/src/sys/modules/ has some stray `@' symlinks possibly
left from compiling modules manually without creating object
directories, and forgetting to run "make clean" afterwards.
Here's how I can reproduce the behavior you're seeing:

: # pwd
: /usr/src/sys/modules/sound/driver/als4000
: # make -s cleandir
: # make -s cleandir
: # make @
: @ -> /usr/src/sys
: # make obj
: /usr/obj/usr/src/sys/modules/sound/driver/als4000 created for /usr/src/sy=
s/modules/sound/driver/als4000
: # make device_if.h
: awk -f @/tools/makeobjops.awk @/kern/device_if.m -h
: awk: can't open file @/tools/makeobjops.awk
:  source line number 1 source file @/tools/makeobjops.awk
:  context is
:          >>>  <<<=20
: *** Error code 2
:=20
: Stop in /usr/src/sys/modules/sound/driver/als4000.

Fix:
	cd /usr/src/sys/modules && make cleandir && make cleandir


Cheers,
--=20
Ruslan Ermilov
ru@FreeBSD.org
FreeBSD committer

--Dxnq1zWXvFF0Q93v
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (FreeBSD)

iD8DBQFFBqTRqRfpzJluFF4RAmTFAJwJarG0pR+SQZ09G4q+b4WrvTAw+wCgnDX9
xWlh7gL8XiGy6qsWgcZTjTk=
=CBA+
-----END PGP SIGNATURE-----

--Dxnq1zWXvFF0Q93v--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060912121513.GA31799>