Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 17 Jan 2006 21:28:20 -0500
From:      Kris Kennaway <kris@obsecurity.org>
To:        Steve Kargl <sgk@troutmask.apl.washington.edu>
Cc:        Poul-Henning Kamp <phk@phk.freebsd.dk>, freebsd-current@freebsd.org
Subject:   Re: md5c.c is broken on amd64
Message-ID:  <20060118022820.GA96421@xor.obsecurity.org>
In-Reply-To: <20060118012104.GA45779@troutmask.apl.washington.edu>
References:  <20060117222233.GA99076@troutmask.apl.washington.edu> <63732.1137541297@critter.freebsd.dk> <20060118012104.GA45779@troutmask.apl.washington.edu>

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, Jan 17, 2006 at 05:21:04PM -0800, Steve Kargl wrote:
> On Wed, Jan 18, 2006 at 12:41:37AM +0100, Poul-Henning Kamp wrote:
> > In message <20060117222233.GA99076@troutmask.apl.washington.edu>, Steve=
 Kargl writes:
> > >It just isn't my day to work on upgrade a 3 day old -current. ;(
> > >
> > >/usr/src/lib/libcrypt/../libmd/md5c.c: In function `__MD5Update':
> > >/usr/src/lib/libcrypt/../libmd/md5c.c:154: error: argument "in" doesn'=
t match prototype
> > >/usr/include/sys/md5.h:41: error: prototype declaration
> > >*** Error code 1
> >=20
> > Either you got a very unlucky CVSUP timing or you didn't run buildworld
> > because it looks like you have an old <sys/md5.h> and a new source tree=
...
> >=20
>=20
> I didn't do a buildworld.  It appears that one can no longer
> rebuild only a part of the tree.  I did
>=20
> rm -rf /usr/obj/*
> cd /usr/src/lib
> make clean && make cleandepend && make cleandir
> make depend
> make
>=20
> Report problem.

Since you are building your source tree against old headers and
libraries, the only situation in which this will work is when the
headers (and libraries) haven't changed significantly between your
installed version and new sources.  In practice this means you can
only get away with it when doing 'small enough' upgrades.

A more reliable, but still not 100% reliable, method to upgrade your
system more quickly than building world is to add:

make includes
make libraries

before 'make depend', which works around those two problems.  It still
doesn't work around other kinds of bootstrapping problems that occur
from time to time, which buildworld is designed to solve.

But of course, when either of these methods fail, the responsible
thing to do is to fall back to a buildworld before claiming the
existence of problems.

Kris

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

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

iD8DBQFDzafEWry0BWjoQKURAshgAKCAt3fTeEL4zXVtqW7ww6pIDSDA+QCg2n1E
eZ2kw9Inj9QYSFuagKEg0zA=
=wSmJ
-----END PGP SIGNATURE-----

--Dxnq1zWXvFF0Q93v--



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