bin/117933: src/lib/libcrypt: [PATCH]: include md5.h from the build not the running system

Philip M. Gollucci pgollucci at p6m7g8.com
Thu Nov 8 17:40:01 PST 2007


>Number:         117933
>Category:       bin
>Synopsis:       src/lib/libcrypt: [PATCH]: include md5.h from the build not the running system
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Fri Nov 09 01:40:00 UTC 2007
>Closed-Date:
>Last-Modified:
>Originator:     Philip M. Gollucci
>Release:        FreeBSD 8.0-CURRENT
>Organization:
Riderway Inc.
>Environment:
FreeBSD philip.hq.rws 8.0-CURRENT FreeBSD 8.0-CURRENT #0: Tue Nov  6 16:28:12 EST 2007     pgollucci at philip.hq.rws:/usr/obj/usr/src/sys/RIDERWAY  i386

>Description:
Trying to setup ports-mgmt/tinderbox, no, its not a ports@ pr keep reading:

This requires a 'make buildworld' for 5-STABLE, 6-STABLE, 7-STABLE(tobe), and HEAD.

Typically people will do this from a recent version of FreeBSD soon to be 7.0-RELEASE.

The API of md5.h changed such that the installed one is no longer compatible with that in /usr/src of older FreeBSD releases

This just uncovers the bug this PR fixes.


>How-To-Repeat:
On a 7-BETAX or or 8-CURRENT, or maybe even 6-STABLE do:

mkdir -p /home/ncvs
sudo chown -R X /home/ncvs
sudo cvsup -g -L2 -r20 -h cvsup2.us.freebsd.org /usr/share/examples/cvsup/cvs-supfile

sudo rm -rf /usr/src
sudo mkdir /usr/src
sudo chown X /usr/src
export CVSROOT=/home/ncvs
cd /usr ; cvs -q co -R -rRELENG_5 src

cd lib/libcrypt
CC=/usr/local/bin/gcc34 ; make


cc -O2 -fno-strict-aliasing -pipe  -I/usr/src/lib/libcrypt/../libmd -I/usr/src/lib/libcrypt/../libutil -I/usr/src/lib/libcrypt -DHAS_DES -DHAS_BLOWFISH -Dauth_getval=__auth_getval -Dproperty_find=__property_find -Dproperties_read=__properties_read -Dproperties_free=__properties_free -DMD4Init=__MD4Init -DMD4Final=__MD4Final -DMD4Update=__MD4Update -DMD4Pad=__MD4Pad -DMD5Init=__MD5Init -DMD5Final=__MD5Final -DMD5Update=__MD5Update -DMD5Pad=__MD5Pad  -c /usr/src/lib/libcrypt/crypt-md5.c
cc -O2 -fno-strict-aliasing -pipe  -I/usr/src/lib/libcrypt/../libmd -I/usr/src/lib/libcrypt/../libutil -I/usr/src/lib/libcrypt -DHAS_DES -DHAS_BLOWFISH -Dauth_getval=__auth_getval -Dproperty_find=__property_find -Dproperties_read=__properties_read -Dproperties_free=__properties_free -DMD4Init=__MD4Init -DMD4Final=__MD4Final -DMD4Update=__MD4Update -DMD4Pad=__MD4Pad -DMD5Init=__MD5Init -DMD5Final=__MD5Final -DMD5Update=__MD5Update -DMD5Pad=__MD5Pad  -c /usr/src/lib/libcrypt/../libmd/md5c.c
/usr/src/lib/libcrypt/../libmd/md5c.c: In function '__MD5Update':
/usr/src/lib/libcrypt/../libmd/md5c.c:154: error: argument 'input' doesn't match prototype
/usr/include/sys/md5.h:46: error: prototype declaration
*** Error code 1

Stop in /usr/src/lib/libcrypt.


To fix this, apply the patch -- note, I'ved fixed it in
RELENG_5
RELENG_6
RELENG_7
HEAD


>Fix:
Apply patch

Patch attached with submission follows:

RELENG_5
Index: lib/libcrypt/Makefile
===================================================================
RCS file: /home/ncvs/src/lib/libcrypt/Makefile,v
retrieving revision 1.33.4.1
diff -u -r1.33.4.1 Makefile
--- lib/libcrypt/Makefile	13 Feb 2005 07:23:12 -0000	1.33.4.1
+++ lib/libcrypt/Makefile	9 Nov 2007 01:31:29 -0000
@@ -12,7 +12,7 @@
 		crypt-nthash.c md4c.c
 MAN=		crypt.3
 MLINKS=		crypt.3 crypt_get_format.3 crypt.3 crypt_set_format.3
-CFLAGS+=	-I${.CURDIR}/../libmd -I${.CURDIR}/../libutil
+CFLAGS+=	-I${.CURDIR}/../../sys -I${.CURDIR}/../libmd -I${.CURDIR}/../libutil
 
 # Pull in the strong crypto, if it is present.
 .if exists(${.CURDIR}/../../secure/lib/libcrypt) && !defined(NOCRYPT)


RELENG_6
Index: lib/libcrypt/Makefile
===================================================================
RCS file: /home/ncvs/src/lib/libcrypt/Makefile,v
retrieving revision 1.35.2.1
diff -u -r1.35.2.1 Makefile
--- lib/libcrypt/Makefile	22 Jul 2005 17:29:04 -0000	1.35.2.1
+++ lib/libcrypt/Makefile	9 Nov 2007 01:31:35 -0000
@@ -12,7 +12,7 @@
 		crypt-nthash.c md4c.c
 MAN=		crypt.3
 MLINKS=		crypt.3 crypt_get_format.3 crypt.3 crypt_set_format.3
-CFLAGS+=	-I${.CURDIR}/../libmd -I${.CURDIR}/../libutil
+CFLAGS+=	-I${.CURDIR}/../../sys -I${.CURDIR}/../libmd -I${.CURDIR}/../libutil
 
 # Pull in the strong crypto, if it is present.
 .if exists(${.CURDIR}/../../secure/lib/libcrypt) && !defined(NO_CRYPT)


RELENG_7
Index: lib/libcrypt/Makefile
===================================================================
RCS file: /home/ncvs/src/lib/libcrypt/Makefile,v
retrieving revision 1.39
diff -u -r1.39 Makefile
--- lib/libcrypt/Makefile	21 May 2007 02:49:03 -0000	1.39
+++ lib/libcrypt/Makefile	9 Nov 2007 01:31:43 -0000
@@ -15,7 +15,7 @@
 		crypt-nthash.c md4c.c
 MAN=		crypt.3
 MLINKS=		crypt.3 crypt_get_format.3 crypt.3 crypt_set_format.3
-CFLAGS+=	-I${.CURDIR}/../libmd -I${.CURDIR}/../libutil
+CFLAGS+=	-I${.CURDIR}/../../sys -I${.CURDIR}/../libmd -I${.CURDIR}/../libutil
 
 # Pull in the strong crypto, if it is present.
 .if exists(${.CURDIR}/../../secure/lib/libcrypt) && ${MK_CRYPT} != "no"


HEAD
Index: lib/libcrypt/Makefile
===================================================================
RCS file: /home/ncvs/src/lib/libcrypt/Makefile,v
retrieving revision 1.39
diff -u -r1.39 Makefile
--- lib/libcrypt/Makefile	21 May 2007 02:49:03 -0000	1.39
+++ lib/libcrypt/Makefile	9 Nov 2007 01:31:54 -0000
@@ -15,7 +15,7 @@
 		crypt-nthash.c md4c.c
 MAN=		crypt.3
 MLINKS=		crypt.3 crypt_get_format.3 crypt.3 crypt_set_format.3
-CFLAGS+=	-I${.CURDIR}/../libmd -I${.CURDIR}/../libutil
+CFLAGS+=	-I${.CURDIR}/../../sys -I${.CURDIR}/../libmd -I${.CURDIR}/../libutil
 
 # Pull in the strong crypto, if it is present.
 .if exists(${.CURDIR}/../../secure/lib/libcrypt) && ${MK_CRYPT} != "no"


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list