From owner-freebsd-current Sat Oct 5 13:09:12 1996 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id NAA05200 for current-outgoing; Sat, 5 Oct 1996 13:09:12 -0700 (PDT) Received: from zibbi.mikom.csir.co.za (zibbi.mikom.csir.co.za [146.64.24.58]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id NAA05195 for ; Sat, 5 Oct 1996 13:09:02 -0700 (PDT) Received: (from jhay@localhost) by zibbi.mikom.csir.co.za (8.7.6/8.7.3) id WAA24973 for freebsd-current@FreeBSD.ORG; Sat, 5 Oct 1996 22:08:51 +0200 (SAT) From: John Hay Message-Id: <199610052008.WAA24973@zibbi.mikom.csir.co.za> Subject: Proposed addition to build-tools target To: freebsd-current@FreeBSD.ORG (FreeBSD-current) Date: Sat, 5 Oct 1996 22:08:51 +0200 (SAT) X-Mailer: ELM [version 2.4ME+ PL24 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-current@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk Hi, I have been trying to build an 2.2 SNAP on a 2.1.5 machine again. Except for two problems it seems to work fine. The first problem is awk. In 2.1.5 it is linked to libgnuregex.so.2.0, libm.so.2.0 and libc.so.2.2. During the "make world" process all the libraries are rebuild, also libgnuregex.so.2.0 which then needs some new functionality from libc.so.3.0. Awk is still linked to libc.so.2.0 so when it is needed during the "make includes" fase it fails with: -------------- angel:/usr/src/usr.bin/kdump # make clean rm -f a.out Errs errs mklog kdump kdump.o ioctl.o subr.o ioctl.c kdump.1.gz angel:/usr/src/usr.bin/kdump # make depend /bin/sh /usr/src/usr.bin/kdump/mkioctls > ioctl.c (null): Undefined symbol "_collate_range_cmp" called from awk:/usr/lib/libgnuregex.so.2.0 at 0x80390cc cpp: output pipe has been closed *** Error code 1 Stop. angel:/usr/src/usr.bin/kdump # --------------- To work around this problem I would recommend that we add awk to the "build-tools" target. It will not help to add it to the "bootstrap" target because at that stage the libc.so.3.0 library does not exist. I attach a patch for that at the end. With this patch the "make world" target should be able to take a 2.1.5 machine to 2.2-current. The reason I say this is a workaround is that I think libgnuregex.so should have been bumped from version 2.0 to 3.0 when it started to depend on libc.so.3.0 features. The way it is now we can't use a 2.1.5 compiled program that use those functions on a -current system. I think it is an unnecessary incompatability which we can easily avoid. My second problem is that the latest version of release/doFS.sh (1.8) breaks on a 2.1.5 machine. Something with the labels on a vn device. The previous version does work. I will have a look into that. John -- John Hay -- John.Hay@mikom.csir.co.za *** Makefile.org Fri Oct 4 10:48:27 1996 --- Makefile Fri Oct 4 23:50:30 1996 *************** *** 517,522 **** --- 517,524 ---- ${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR} cd ${.CURDIR}/usr.sbin/zic && ${MAKE} depend && \ ${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR} + cd ${.CURDIR}/gnu/usr.bin/awk && ${MAKE} depend && \ + ${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR} cd ${.CURDIR}/gnu/usr.bin/groff && ${MAKE} depend && \ ${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}