Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 30 Oct 2000 16:23:20 +1100 (EST)
From:      Bruce Evans <bde@zeta.org.au>
To:        Bosko Milekic <bmilekic@dsuper.net>
Cc:        Darren Reed <darrenr@reed.wattle.id.au>, current@FreeBSD.ORG
Subject:   Re: Multiply defined 'struct mtx' ?
Message-ID:  <Pine.BSF.4.21.0010301608230.52704-100000@besplex.bde.org>
In-Reply-To: <Pine.BSF.4.21.0010291642370.25621-100000@jehovah.technokratis.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 29 Oct 2000, Bosko Milekic wrote:

> sys/mbuf.h unfortunately includes sys/mutex.h
> 
> No obvious workaround is in sight, to my knowledge, anyway.

No workaround is necessary for this particular problem.  sys/mutex.h
protects itself against multiple inclusion.

> On Sun, 29 Oct 2000, Darren Reed wrote:
> 
> > IP Filter doesn't introduce a "struct mtx" which suggests something isn't
> > protecting against multiple inclusions or similar ?

> > (ref5:~/freebsd/src/usr.sbin/ipftest) make
> > Warning: Object directory not changed from original /d/home/darrenr/freebsd/src/usr.sbin/ipftest
> > cc -O -pipe -DIPL_NAME=\"/dev/ipl\" -I- -I/d/home/darrenr/freebsd/src/usr.sbin/ipftest -I/d/home/darrenr/freebsd/src/usr.sbin/ipftest/../../sys/netinet -I/d/home/darrenr/freebsd/src/usr.sbin/ipftest/../../sys -I/d/home/darrenr/freebsd/src/usr.sbin/ipftest/../../contrib/ipfilter   -c /d/home/darrenr/freebsd/src/usr.sbin/ipftest/../../sys/netinet/fil.c
> > In file included from /d/home/darrenr/freebsd/src/usr.sbin/ipftest/../../sys/sys/mbuf.h:40,
> >                  from /d/home/darrenr/freebsd/src/usr.sbin/ipftest/../../sys/netinet/fil.c:48:
> > /d/home/darrenr/freebsd/src/usr.sbin/ipftest/../../sys/sys/mutex.h:110: redefinition of `struct mtx'
> > *** Error code 1

Your <machine/mutex.h> is apparently out of date.  With all those -I
paths, it is hard to tell where includes are found.  The
-I${.CURDIR}/../../sys hack is particularly evil.  It makes no difference
for "make world", but for plain make it causes the src-relative version
of <sys> to be found, but there is no hack to find the src-relative
version of <machine> so the installed version gets used.

Bruce



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0010301608230.52704-100000>