md5c.c is broken on amd64

Kris Kennaway kris at obsecurity.org
Tue Jan 17 18:28:24 PST 2006


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 at 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
> > 
> > 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...
> > 
> 
> I didn't do a buildworld.  It appears that one can no longer
> rebuild only a part of the tree.  I did
> 
> rm -rf /usr/obj/*
> cd /usr/src/lib
> make clean && make cleandepend && make cleandir
> make depend
> make
> 
> 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
-------------- 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-current/attachments/20060117/4d173cb7/attachment.bin


More information about the freebsd-current mailing list